Die Threads werden synchronisiert, bevor auf fertig_Bild zugegriffen wird.
So wie ich
synchronize verstanden habe, wartet es, bis der Main-Thread wieder im Messageloop ist, um dann sicher die übergebene Prozedur ausführen zu können.
Dein Main-Tread wartet allerdings auf deine Arbeitsthreads.
Klassischer Deadlock.