I have a situation where very rarely a Queue of Objects is dequeuing a null. The only call to Enqueue is within the class itself:
m_DeltaQueue.Enqueue(this);
Queues are not inherently thread safe. This is your issue. Use a mutex/lock/whatever or look for a thread safe-queue.