title: Why is my `PageAsyncTask` registered in `Page_Load` running synchronously?
body: <p>I thought the <code>GetData</code> task registered in <code>Page_Load</code> won't block the loading of <code>Index.aspx</code>, since it's an async task; 5 seconds after the page is rendered, the lblData is set and reflected on the <code>Index.aspx</code>.</p>
  
  <p>However, in my case, the loading of <code>Index.aspx</code> is blocked for 5 seconds, waiting for the async <code>GetData</code> to be finished. Only after 5 seconds is the <code>Index.aspx</code> rendered.</p>
  
  <p>Is this expected? Or the <code>GetData</code> is running synchronously because I did something wrong?</p>
  
  <pre><code>// Index.aspx.cs
  public partial class Index : Page
  {
      protected string lblData;
      protected void Page_Load(object sender, EventArgs e)
      {
          RegisterAsyncTask(new PageAsyncTask(GetData));
          ExecuteRegisteredAsyncTasks();
      }
  
      public async Task GetData()
      {
          await Task.Delay(5000);
          lblData = "Hello world!";
      }
      // ...
  }
  </code></pre>
  
  <p>I've added <code>Async="true"</code> to <code>Index.aspx</code>.</p>