Control.BeginInvoke(Delegate) : Executes the specified delegate "asynchronously on the thread" that the control's underlying handle was created on. The delegate is called asynchronously. You can call this method from any thread, "even the thread that owns the control's handle."
Referring the above texts in bold, what will happen actually if we call BeginInvoke method of any control in the Main Thread ( which is busy executing some other tasks)?
Will there be two threads?
Or this call to BeginInvoke will wait for Main thread to complete its executing task? if so, then UI may go into nonresponding state if the executing task of Main Thread is quite time consuming.