What is the exact purpose of WaitCallback delegate ?

```
WaitCallback callback = new WaitCallback(PrintMessage);
ThreadPool.QueueUserWorkItem(callback,"Hello");

static void PrintMessage(object obj)
{
   Console.WriteLine(obj);
}

```

*Can i mean "Wait" in the "TheadPool" until thread is availabe.Once it is available execute
the target?*