Async/await III - "Suspending" and "Blocking" in Async programming
In C# async programming, “block” and “suspend” refer to very different behaviors in how code waits for something to complete. In C#, await suspends the method without blocking the thread—that’s the magic of async/await.