title: parallel programming - I need some clarifications
body: <p>Okay , let me try to put it in sentences ...</p>
  
  <p>Lets consider an example, 
  where I create an <code>async</code> method and call it with <code>await</code> keyword, 
  As far as my knowledge tells me, </p>
  
  <ol>
  <li>The main thread will be released</li>
  <li>In a separate thread, async method will start executing</li>
  <li>Once it is executed, The pointer will resume from last position It left in main thread.</li>
  </ol>
  
  <p><strong>Question 1 :</strong> Will it come back to main thread or it will be a new thread ?</p>
  
  <p><strong>Question 2:</strong> Does it make any difference if the async method is CPU bound or network bound ? If yes, what ?</p>
  
  <h2>The important question</h2>
  
  <p><strong>Question 3 :</strong> Assuming that is was a CPU bound method, What did I achieve? I mean - main thread was released, but at the same time, another thread was used from thread pool. what's the point ?</p>