That’s true for `async` methods, but keep in mind that you can `await` any value in C# that implements the ‘awaitable’ pattern. A custom ‘awaitable’ can perform its own scheduling however it likes, including when it begins its execution.
The pattern-based implementation of `await` is, in my view, the coolest part of the async/await feature set.