Я думаю, что ответы в комментариях, плюс некоторые вещи, которые мне удалось выяснить, в значительной степени отвечают на мой вопрос.
Кажется, одной из проблем является фрагментация.У вас может быть 20% свободной кучи (используется 80%), и все же ваша куча может быть сильно фрагментирована там, где трудно найти большие непрерывные блоки, необходимые для работы.Если вы начнете использовать GC раньше, например, на 70%, вы будете держать фрагментацию под контролем, исправляя неиспользуемые объекты и создавая большие дыры для новых объектов.
Для некомпактных GC, таких как CMS, нет 100% гарантии, что вы никогда не станете слишком фрагментированными для выделения блока памяти, но если вы собираете рано и часто, вы можете сделать это так же редко, каквозможно.