public static class Program
public static void Main()
WeakReference timer = StartTimer();
Console.WriteLine($"Before GC.Collect - IsAlive: {timer.IsAlive}");
Console.WriteLine($"After GC.Collect - IsAlive: {timer.IsAlive}");
Console.WriteLine($"Finished");
static WeakReference StartTimer()
System.Threading.Timer timer = new(_ => Console.WriteLine("Callback!"), null, 500, -1);