Very strange.
Have you looked at sum of bytes in freespace or looked at individual freespace chunks ?
There should have been 1 individual chunk of freespace after coalesce.
if there were many different sized freespace chunks this may have caused the problem.
If I was you I would investigate dba_segments, dba_freespace when you get the ORA error message and try to work out what happened.
Either that or your maths may be wrong. I have done a similar thing to what you are doing many times and the only time I encountered this problem was when I forgot to coalesce my tablespace after I dropped all the objects in it and then ran an import.
Once you have eliminated all of the impossible,
whatever remains however improbable,
must be true.