Description
In a Queue when isReduceMemoryFootprint is enabled the message state should be cleared after persisting to the store. The idea is that once the data is marshalled into its byte content we can clear out the properties, text, etc to free up memory.
The problem is that when concurrent dispatch is enabled, messages are added to the store asynchronously and queued up. There is a race condition because it's possible for the state to be cleared before the store has a chance to process the message so that when it gets to it, it will be null. This is most notable when using the VM transport as messages with null content will get dispatched.