WatiN: el CurrentThread necesita tener su ApartmentState configurado en ApartmentState.STA para poder automatizar Internet Explorer

Estoy llamando a WatiN desde un servicio de ventanas de C #. Cuando invoco WatiN lanza la siguiente excepción. El CurrentThread necesita tener su ApartmentState configurado en ApartmentState.STA para poder automatizar Internet Explorer

He intentado iniciar un hilo y establecer el estado del apartamento a través de

mythread.SetApartmentState(ApartmentState.STA)

pero eso dio lugar a otro error

No se puede evaluar la expresión porque el código está optimizado o un marco nativo está en la parte superior de la pila de llamadas.

También intenté agregar un atributo al punto de entrada del servicio.

static class Program
{
      [STAThread]
      static void Main()
      {
          ...

¿Algunas ideas?

Respuestas a la pregunta(3)

Su respuesta a la pregunta