В большинстве сред времени выполнения память, выделенная приложению из операционной системы, остается в приложении и редко возвращается обратно в операционную систему. Освобождение блока памяти позволяет повторно использовать блок из приложения, но не освобождает его для операционной системы, чтобы сделать его доступным для других приложений.
Библиотека времени выполнения Microsoft C пытается вернуть память обратно операционной системе, вызывая _heapmin_region вызов _heap_free_region или _free_partial_region, который вызывает VirtualFree для передачи данных в операционную систему. Однако если целые страницы в соответствующем регионе не пусты, они не будут освобождены. Распространенной причиной этого является кэширование бухгалтерской информации и хранилища контейнеров C ++.