It turns out I can't make this an automatic. It didn't register why I had done this during our code review, but if the queue is not empty we want to run some work on the active object we pull off the queue.  We do not want to maintain the lock while this work is performed, so we immediately unlock the mutex and then do the work.  We couldn't do this with an automatic