In this and many duplicates I see that there will at least be few comments which say "don't worry OS will reclaim the memory if/when it needs it". This is plain wrong. If free()/delete do not release memory to the OS by calling brk() or munmap() (depending on how the memory was originally allocated from the OS), OS doesn't know that application doesn't need the memory anymore and it cannot reclaim it. What it can do though is to swap out those pages, but that it can even do when the process is actually using that memory (though it depends on some virtual memory settings). If the process is actually not using that memory it'll never need to be swapped back in which makes the "OS reclaims the memory" illusion more realistic. This also means if you don't have any swap configured in your system (which is true for many perf sensitive systems) then OS can never reclaim memory in this way.