Currently with the EWS queue (maybe others?), when no item is in the queue, the process sleeps. However, the sleeping operation still increments the iteration count. simplified: If you have --exit-after-iteration N set, then the queue will exit after N sleeps. This is unfortunate, because for Win EWS, we use a big hammer to clean things up after every 10 iterations. This is an expensive operation with SVN. I think that the iteration count should NOT be incremented when encountering a 'sleep' action because of no work items.
Note: The WIN-EWS 'big hammer' recycle time is 11 minutes+