title: BeginFlush seems to work synchronously
body: <p>I'm trying to use HttpResponse BeginFlush and EndFlush methods in order to make the flush async, which means my worker thread won't being used while flushing to the stream.</p>
  
  <p>However it seems that the BeginFlush methods run in synchronous way always.
  I dig in Microsoft reference code and didn't find the reason for this behavior.
  This is Microsoft implementation: <a href="http://referencesource.microsoft.com/#System.Web/HttpResponse.cs,f121c649c992c407" rel="nofollow">http://referencesource.microsoft.com/#System.Web/HttpResponse.cs,f121c649c992c407</a></p>
  
  <p>I checked the SupportsAsyncFlush flag and I'm getting true , so my environment actually supports the AsyncFlush.</p>
  
  <p>Any idea?</p>
  
  <p>This is a code snippet for trying to do the async flush, but I'm not getting to the "Different Threads" line - it is always the same thread that runs this code.</p>
  
  <pre><code>        Context.Response.Write("Some message");
          Context.Response.BeginFlush(
              res =&gt;
              {
                  try
                  {
                      var previousThreadId = (int)res.AsyncState;
                      var thread2Id = Thread.CurrentThread.ManagedThreadId;
                      if (previousThreadId != thread2Id)
                      {
                          Console.WriteLine("Different Threads");
                      }
  
                      Context.Response.EndFlush(res);
                  }
                  catch (Exception e)
                  {
                  }
              },
              Thread.CurrentThread.ManagedThreadId);
  </code></pre>