I was debugging some issue related to asynchronous delegates and wanted to share that information with everyone. When you do a BeginInvoke the delegate is invoked on a thread from the thread pool and on completion the callback is also called on the same