title: C# WaitCallBack - ThreadPool
body: <p>What is the exact purpose of WaitCallback delegate ?</p>
  
  <pre><code>WaitCallback callback = new WaitCallback(PrintMessage);
  ThreadPool.QueueUserWorkItem(callback,"Hello");
  
  static void PrintMessage(object obj)
  {
     Console.WriteLine(obj);
  }
  </code></pre>
  
  <p><em>Can i mean "Wait" in the "TheadPool" until thread is availabe.Once it is available execute
  the target?</em></p>