using System.Threading.Tasks.Dataflow;
public static void Main()
var weakReference = InnerMethod();
for (int i = 1; i <= 10; i++)
Console.WriteLine($"IsAlive: {weakReference.IsAlive}");
WeakReference InnerMethod()
var block = new ActionBlock<int>(n =>
Console.WriteLine($"Processed: {n}");
block.Post(1); block.Post(2); block.Post(3);
return new WeakReference(block);