Разрешение вопросов, связанных с исключениями: System.Threading.SynchronizationLockException
Исключение возникает, если метод требует владения вызвавшим его потоком определенного Monitor, но поток им не владеет.
Примечания
Исключение SynchronizationLockException вызывается путем вызова методов Exit, Pulse, PulseAll и Wait класса Monitor из несинхронизированного блока кода.
См. также
Задачи
Практическое руководство. Использование помощника по исключениям