以前の質問で、LOH で割り当て可能な最大ブロックを最大化するプログラム的な方法を尋ねました。まだ問題が発生していますが、LOH のサイズが大きくなったり小さくなったりする理由を理解しようとしていますが、LOH の断片化が原因であると他の人が報告したものと一致する OutOfMemoryExceptions がまだ見られます。 .
たとえば、StringBuilder.EnsureCapacity を呼び出すと OutOfMemoryException がスローされるのに、別の場所から別の呼び出しを行うと LOH のサイズが拡大するのはなぜですか (パフォーマンス カウンターによると、拡大と縮小が繰り返されます)。