So you're telling me that you prefer WinForms "multithreading"?! That is, accesing a control from a different thread is not allowed in theory but in practice it works or not depending on the control type, windows version and the phase of the moon.

No, I call BeginInvoke or Invoke every time. It works well for me, my only nuance is why Microsoft never included a "delete void Void();" in the original .NET Framework and why I have to define it in every project I call BeginInvoke in.