Why does asynchronous invocation eliminate stack dives?
I was reading Stephen Toub’s blog post on How Async/Await Really Works in C#. In the article he describes how this code (posted below) would cause a stack overflow to occur because the BeginRead
method would complete synchronously and invoke the AsyncCallback
lambda, which would invoke BeginRead
again etc…