Object monitor - это объект для синхронизации, именно на нем содержатся статусы монитора и когда один поток заходит в блок синхронизации, другой поток уже не может зайти и находится в состоянии блокировки. Когда все потоки находятся в состоянии блокировки это называется взаимная блокировка или deadlock.
Метод wait помещает текущий поток, который находится в блоке синхронизации в список (на самом