(Either way, I did not know C# had this feature, it looks very nice! Also, the article is very well written, thanks a lot!)
Here's some more info (although outdated): https://en.wikipedia.org/wiki/Coroutine#Implementations_for_...
Thanks, glad you enjoyed it!
It use a simple state machine. The async keyword is implemented with the same principle.