A shame that this thread will keep waking up if there are no items to remove.  You could use a semaphore to check there are items on the queue, and only sleep if semaphore signalled and no items were removed.