If the control is disposed, BeginInvoke will throw an InvalidOperationException and claim "Invoke or BeginInvoke cannot be called on a control until the window handle has been created", which is misleading. In fact the handle has already been created... and destroyed.