Every time I hear someone say that C# is a well designed language I think of the story of how they had to hack the compiler to get async/await to work, and how F# implemented the same feature as a library. I guess there are different levels of "well designed".
I don't know about the compiler internals, but from the perspective of a C# user, async/await is really excellent. It's easy to use and the resulting code is easy to read and understand. Much simpler than chained futures, Go-style channels, etc. It's good language design in that sense (the implementation may or may not be good).