¿Cuándo se requiere invocar en objetos GUI?

Utilizando C # Windows.Forms, ¿los métodos Invalidate (), Refresh (), etc. deben ejecutarse en el hilo principal / GUI (requiere Invoke / BeginInvoke)? ¿Qué hay de los cambios en los miembros de un objeto GUI, como agregar / eliminar puntos o cambiar el color de una serie en un objeto Charting.Chart?

Tengo algunos de estos cambios que ocurren en un subproceso de trabajo sin ningún problema (¿así que supongo que están bien?), Pero estoy tratando de distinguir qué cambios son explícitamente necesarios en el subproceso de GUI y qué cambios pueden ocurrir en el objeto en Un hilo de trabajo. ¿Alguien tiene un enlace o referencia de libro para obtener orientación sobre este tema?

Respuestas a la pregunta(3)

Su respuesta a la pregunta