Repro:
static void Main()
{
new Thread(() =>
{
var src = new int[10_000_000];
for (;;) Array.Sort(src);
}).Start();
for (;;) { Console.WriteLine("GC start"); GC.Collect(); Console.WriteLine("GC end"); Thread.Sleep(1); }
}
Result: The GC takes very long time - if it finishes at all.