@cromadbomber Thought I would add to this, though clearly you already have a fix. cleanUpScene.mel is code called by OptimizeSceneSize with the appropriate options checked. The optimize options are shown in the screenshot below. I don't think a lot of people look in this option box, and there's actually some good stuff in…
Try this two lines (MEL), for me works even if multiple empty groups are parented together as in the example image above. source cleanUpScene.mel;deleteEmptyGroups();