Wenn ich das richtig verstanden habe, ist aber genau das das Problem:
Bei Diesem sollte der Lock aber nicht lange dauern und es nahezu sofort zurückkehren.
Einzig mir bekannte Ausnahme ist eben, wenn Queue aus dem Hauptthread aufgerufen wird, wodurch es fast wie Synchronize wirkt (die Funktion wird direkt aufgerufen, ohne in der Queue zu landen).
Oder wenn jemand es geschafft hat den Speicher zu schrotten (BufferOverflow, mistige Zeiger und Dergleichen), aber dann hat man eh andere Probleme, als nur dieses Hängen.
Ein Therapeut entspricht 1024 Gigapeut.