this also happens when 2 many objects are intersecting, and the cpu cant perform the resulting calculations, then it just lags out and freezes.
as you said ellipse helps fix this very well, as when you have a lot of objects,boxes tend to create very little spaces, like bricks, vs ellipse that when stacked still have space (like stacked tubes) that something can move into and fill, this is why a stack of tubes can roll off itself easily, but a stack of bircks cant.
imagine this stackability as, the harder it is for a shape to roll off itself, the harder it is on the cpu.