Ну да... Потому что фактически освободившиеся блоки не расформировываются, они висят в списке старых, для повторного использования... В случае ~dllMem, опять же.

Там ряд аспектов в плане стратегии может быть модифицирован, если понимать, подо что тюнить.

Хотя для динамического распределения больших линейных областей памяти как-то массивы не всегда применяют. Иногда делают что-то типа Files.File в памяти - и элементы оттуда считывают/записывают. Тогда и на диск прозрачно свопить можно.
Обычная динамическая память хороша, когда много мелких объектов, ссылающихся друг на друга. Граф связей, динамика.