`StringBuilder` を使用しても、`Debug.Log(builder.ToString())` を呼ぶとGC Allocationが発生してしまう根本的な理由はどれか。

StringBuilder自体は可変だが、最終的に文字列として利用するために `ToString()` を呼ぶと、その時点の内容をコピーした新しい不変の `string` インスタンスがヒープに生成される。