>>238
即座には開放されない場合が多い。

Win32 に限らず、OS を呼び出してメモリを割り当て/解放するのは重い処理なので、
ふつうは

1. ある程度の大きな単位で OS にメモリブロックを要求
2. そのメモリブロックから小さなブロックを切り出して malloc, new を呼び出した側に渡す

ってな実装になっている。free, delete で解放した場合も、いきなり OS に返さずに、条件
が整うまで CRT 内部でプールしておくとかね。

大きなメモリを一気に確保、解放したいなら、標準の operator new() ではなく、Win32 API
VirtualAlloc(), VirtualFree() なんかを使った operator new() を書いて、それを使うように
した方がいい。