public static Foo StrongReference = null;
public static void Main()
Console.WriteLine("Created, cleaning up.");
GC.WaitForPendingFinalizers();
Console.WriteLine("After cleaning. Running GC again.");
GC.WaitForPendingFinalizers();
bool wasResurrected = false;
Program.StrongReference = this;
GC.ReRegisterForFinalize(this);
Console.WriteLine("Resurrected!");
Console.WriteLine("Finalizing again");