malloc()/newの類はfree()/deleteしても一般にはOSにメモリを返さないという
超基本的事項を知っているか。
free()されたメモリはOSに返さず次のmalloc()で再利用するのがこうした
関数の基本的な戦略だ。

したがって、一般にプロセスの最初にガバッとmalloc()して大きな仕事をし、
その後free()してもプロセスのワーキングセットは大きいままだ。
これは俗に言う「メモリリーク」ではないのだが、
それが問題になるようであれば、自分でHeapAlloc()なりVirtualAlloc()なりを
用いてカスタムのアロケータを書いて、basic_stringstream<>の
テンプレートパラメータとして渡してやるんだな。