Да много на что. Кэши - один из вариантов. Дорогая сборка, которую откладываем до последнего - другой.Вот пример: есть у меня вьюер PDF. Я, натурально, постараюсь декодировать и держать в памяти кроме текущей страницы еще сколько-то до неё и после, чтобы юзверю мгновенно показать. Чего ради мне их освоождать без надобности?
Или у меня мутная структура данных из кучи элементов, которые в принципе можно и освободить, но мне остался последний этап работы, после которого вообще процесс завершится.
Или я могу ради освобождения памяти временно придушить размер каких-то буферов, что скажется на производительности, но хоть как-то сфотина продолжит работу, а не вылетит.
Или у меня полуживой процесс обсчета чего-то, жрущий память, которы я в принципе могу сейчас убить и дапустить позже (какое-нибудь индексирование того же PDF, скажем)... В общем, много чего может быть.
И ни фига эта механика не обламывается на чужих аллокациях, в том-то и фишка. По крайней мере пока это плюсовые аллокации - один хрен вызов к тому же рантайму идёт. С malloc из сишной библиотеки - да, там обращение к другому рантайму, сишному, коорый этого не умеет. А вот сишная не обломилась бы ни в каком случае - нет в сях других способов память получить, разве что полность заново memory management реализовывать, но это уже совсем экзотика.