Rather unlikely that the queue is not working. We have a unit test specifically for ensuring that items are removed - check QueueTest.cpp. Also, queues are now widely used in the Engine, and any malfunction would have surfaced.
Are you enqueueing the command multiple times?