title: Finally block to execute when all async calls completed
body: <p>I am looking to get a hold of this situation where i have a parent method - EventMethod, which internally calls another method - Handler1().
  Handler1() internally calls async methods which internally calls some other async methods. The chain continues a little long.</p>
  
  <p>How can I execute my finally statement only when all the async calls are compeleted ?
  In the code below, the finally is immediately called once the await is hit inside the calling Handler1() method</p>
  
  <pre><code>void EventMethod()
  {
  try { 
   Helper.Handler1();
   } catch(Exception ex){}
  finally{
    GlobalVariable.ExecutionCompleted = true;
  }
  </code></pre>