My understanding is nothing should ever leave an iframe element, so I always assumed that it was the iframe that was being misplaced somehow. But, it could also be that it’s the size of the iframe being placed (by GAM) that is wrong in some odd scenario.
Mind sharing how you addressed this with CSS to at least keep the oversized banners from overlapping page content? That such fix works, on itself, could be a clue on what exactly is happening.