Under certain circumstances, ObjectManagerImpl.flushInternal() can be called recursively. Before the inner call returns, it sets its internal state variable "flushing" to false.
Afterwards, the outer call of ObjectManagerImpl.flushInternal() continues executing queued operations, but with flushing = false.
This in turn leads to a problem for following add-operations for objects that have been deleted.
Please see the forum thread URL for a more detailed description.