Ok ho fatto un altro cambiamento ed ora funziona. Non mi rimane altro che provarlo n-mila volte e vedere se si blocca.

Ho messo anche la wait() in un metodo synchronized dentro la classe Wait.