The Deadlock Classic: .Result and .Wait()
The most common async bug I see is calling .Result or .Wait() on a Task inside an async method running on a synchronization context. This deadlocks 100% of the time in ASP.NET Framework and WinForms. Always use await instead.