¿Es seguro simplemente establecer CheckForIllegalCrossThreadCalls en falso para evitar errores cruzados durante la depuración?

En las aplicaciones WinForms, ¿es seguro simplemente establecer CheckForIllegalCrossThreadCalls en FALSE para evitar errores cruzados durante la depuración?

CheckForIllegalCrossThreadCalls = false; 

No, eso no es seguro. El código de Winforms que verifica los errores de subprocesos es muy importante, el problema que causa es extremadamente difícil de diagnosticar. El mayor problema es que no causa fallas consistentes, su aplicación se comportará de forma aleatoria y se estancará, o se bloqueará solo una vez al mes. O nunca en absoluto, hasta que hagas un cambio menor. O solo en la máquina de un usuario en particular, culparás al usuario en lugar de a tu código.

La única razón por la que la propiedad CheckForIllegalCrossThreadCalls existe en primer lugar es mantener .NET 2.0 y compatible con los progtwigs .gy 1.x defectuosos donde esta prueba de seguridad no se realizó. Compatibilidad con versiones anteriores para errores ;-P