GC.Collect () sammelt nicht sofort?

Während einer Diskussion im Chat habe ich diese Konsolenanwendung geschrieben.

Code:
using System;

class Program
{
    static void Main(string[] args)
    {
        CreateClass();
        Console.Write("Collecting... ");
        GC.Collect();
        Console.WriteLine("Done");
    }

    static void CreateClass()
    {
        SomeClass c = new SomeClass();
    }
}

class SomeClass
{
    ~SomeClass()
    {
        throw new Exception();
    }
}
Ergebnis:
Collecting... Done

Unhandled Exception: System.Exception: Exception of type 'System.Exception' was
thrown.
   at SomeClass.Finalize()

Ich hätte erwartet, dass die App abstürztVor Done wurde gedruckt.

Es ist mir egal, wie ich es mache. Meine Frage ist,warum nicht?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage