Es una verruga muy antigua en los frameworks .net; acaba de pasar en falso y seguir adelante.
El "contexto" al que se refieren es un contexto remoto. Puede intentar ejecutar ese concepto buscando ContextBoundObject en MSDN; esto te llevará a todo tipo de cosas interesantes. En un punto del diseño de la CLR, estos "contextos de objetos" iban a ser mucho más importantes de lo que realmente terminaron siendo; muchas personas olvidaron que existían en primer lugar, y la única API que la mayoría de la gente encuentra que tiene algo que ver con CBO es Monitor.Wait.
Así que simplemente pase el falso y continúe. :)
Podemos ir aún más profundo si quieres ...
Hubo una noción de la configuración de uno de estos contextos objeto a ser "sincronizado". Resulta que en el CLR, cada hilo tiene un contexto lógico de llamada asociado. Cuando realiza una llamada a un método con comunicación remota, este contexto de llamada lógica se pasa junto con la llamada, de modo que el CLR en el otro lado del límite remoto puede tratar el subproceso que procesa la solicitud como lógicamente el mismo subproceso. Si el objeto al que se llama (el que se encuentra al otro lado del límite remoto) vuelve a llamar al objeto original, esa segunda llamada puede estar en un hilo físico diferente. Sin embargo, debido a que el contexto de llamada lógica fluyó junto con la llamada remota, esa segunda cadena física puede volver a entrar en el contexto "sincronizado".
Un ejemplo de esto es muy complejo de tratar de escribir aquí. Puedo escribir uno por encargo, pero ...
Es una verruga muy antigua en los frameworks .net; acaba de pasar en falso y seguir adelante. :)