See if this helps. I'm not sure it's the same circumstance or not, and by the way the issue has been fixed (I forget what release, but surely it's been fixed since 9.0.x).
Have a look at the worker task scheduler and see if there's any pending tasks out there for the restart of the worker tabsvc. We ran into this prior where the primary would issue a run of a task on the worker, the task would go into pending status, the worker would never restart and then the primary would fail with "worker not responding". The temp workaround was during the install we would have to "babysit" the worker task scheduler and when we saw it pop-up in pending status, then force it to run.