C #: Cómo forzar "llamar" a un método desde el hilo principal mediante la señalización de alguna manera desde otro hilo

Perdón por el título largo, ni siquiera sé cómo expresar la pregunta

Estoy usando una biblioteca que ejecuta una devolución de llamada desde un contexto diferente del hilo principal (es una Biblioteca de C), creé la devolución de llamada en C # y cuando me llaman me gustaría simplemente generar un evento.

Sin embargo, debido a que no sé qué habrá dentro del evento, me gustaría encontrar una manera de invocar el método sin el problema de los bloqueos, etc. (de lo contrario, el usuario de terceros tendrá que manejar esto dentro del evento, muy feo )

¿Hay alguna forma de hacer esto? Puedo estar totalmente en el camino equivocado, pero estoy pensando en la forma de winforms para manejar diferentes subprocesos (lo de invocación).

De lo contrario, puedo enviar un mensaje al bucle de mensajes de la ventana, pero no sé mucho sobre el envío de mensajes y si puedo enviar mensajes "personalizados" como este

Ejemplo:

private uint lgLcdOnConfigureCB(int connection, System.IntPtr pContext)
{
    OnConfigure(EventArgs.Empty);
    return 0U;
}

esta devolución de llamada se llama desde otro programa sobre el que no tengo control, me gustaría ejecutar el método OnConfigure en el hilo principal (el que maneja mi winform), ¿cómo hacerlo? O en otras palabras, me gustaría ejecutar OnConfigure sin la necesidad de pensar en bloqueos

Editar 1:

Tengo un problema con esta excepción:

CallbackOnCollectedDelegate recuperado Mensaje: Callback ejecutado en el delegado 'G19dotNet! G19dotNet.LgLcd + lgLcdOnSoftButtonsCB :: Invoke' recogido en GarbageCollector. Durante el código no administrado, los delegados deben asegurarse de que nunca se eliminarán hasta que esté seguro de que nunca se llamarán

Edición 2:

Problema resuelto por mí mismo, gracias a Stackoverflow que siempre me ayuda. Para futura referencia:Definir un delegado como puntero de función

Respuestas a la pregunta(3)

Su respuesta a la pregunta