Re: Heap Size & OOM question (again)
For the queue cache: Both cache-size & cache-size-bytes-kb are respected (if set). So if you limit cache-size-bytes-kb to 4098 and you reach that limit with 5 messages, the cache is considered full.
The smqp-consumer-cache-size determines the max size of the bulk request from router to client and also the network buffers to transfer the bulk request. You should always use the max size of the messages to calculate the smqp-consumer-cache-size. For example, in your case if you use 2 MB x 5 = 10 MB router output network buffer. This is what you need per connection. Multiply it with 800 = ca. 8 GB for network buffers. That's too much and you should use more routers.