Topic
C# async/await behavior, asynchronous control flow, and production pitfalls.
Practice items tagged with Async/Await.
Clarify the common misconception that await starts work on a new thread, and explain what actually happens for I/O-bound operations.
Explains when cleanup needs asynchronous I/O, how await using guarantees disposal, and how ownership, exceptions, DI lifetimes, and shutdown affect the design.
Use CancellationToken to stop wasted work when clients disconnect, timeouts expire, or background operations are being shut down.
Review async .NET code that does not accept or propagate CancellationToken and explain the practical production risk.
Explain what ConfigureAwait(false) does, why it mattered historically, and how to reason about it in ASP.NET Core and library code.
Explain why awaiting while holding synchronization resources can create deadlocks, contention, or stalled workflows.