.NET 11 runtime async: the runtime takes over await
In .NET 11, the runtime can suspend and resume async methods itself, so the C# compiler no longer generates a state machine for them. The feature is in preview and is opted into per project. The post shows the much smaller IL, cleaner stack traces, and what still changes when you debug.