Solucionando problemas de exceções: System.Threading.SynchronizationLockException
A exceção que é lançada quando um método requer que o chamador para o proprietário do bloqueio em um determinado Monitor, e o método é invocado por um chamador que não possui bloqueio.
Remarks
A SynchronizationLockException é lançada, chamando o Exit, Pulse, PulseAll, e Wait métodos para a Monitor classe a partir de um bloco não sincronizado de código.
Consulte também
Tarefas
Como: Use o Assistente de exceção