Сначала вернемся к процессу, но, в конце концов, вернемся к ОС. Память, выделенная GC, находится в большом смежном фрагменте (куче) или наборе блоков, и «освобождение» GC просто освобождает выделение в куче, но не обязательно обратно в ОС. После сжатия GC виртуальная машина может вернуть часть памяти ОС.
GC хочет удерживать определенное количество пространства, чтобы он мог быстро обслуживать будущие "новые" запросы памяти. Поэтому GC как можно реже обращается к ОС с запросом памяти в больших сегментах.