Я копался в источнике DefaultTraceListener
и нашел это:
private void WriteLine(string message, bool useLogFile)
{
if (base.NeedIndent)
{
this.WriteIndent();
}
this.Write(message + "\r\n", useLogFile);
base.NeedIndent = true;
}
Таким образом, использование памяти, вероятно, растет слишком медленно, чтобы сборщик мусора немедленно отреагировал.