[Sorry for the duplicate Alexandre, clicked the wrong button and didn't answer to the mailing list :( ^^]
No, the worker cannot exit at the time when the variable is checked. A worker only can break out of the processing loop, when there is no new item and the condition variable timeout expires. Since the new item was added before the check (while holding the CS), the last worker cannot terminate before this element has been processed and the additional delay of 30sec to wait for new jobs.
Nevertheless I understand that its probably a bit too much "optimized", so I'll submit a new patch later which simplifies this part a bit.
Regards,
Sebastian