"Nuclear Reactor Deadlock"

ReactorEventDispatcher.HeatCritical += () => {
	var triggerShutdownTask = Task.Run((Action) ReactorEventDispatcher.TriggerSafetyShutdown);

	OtherLongRunningSafetyCode();

	triggerShutdownTask.Wait();
};


Code snippet taken from "Common Multithreading Mistakes in C# - I: Incorrect Granularity".