Среда выполнения не всегда освобождает память обратно в ОС, она сохраняет память на случай, если она понадобится в будущем. Иногда память также немного фрагментирована, поэтому нет простого способа вернуть ее обратно в ОС.
Распределитель обычно резервирует память в блоках (больше, чем выделяет ваша программа), поэтому анализ использования памяти может не отражать распределение памяти и освобождение вашей программы.
В любом случае, это все виртуальная память, поэтому это не так важно, как исчерпание физической памяти вашей машины.