XMPPDecoder#doDecode will return false if content in the byte buffer is < 4. MINA will then keep the "incomplete" content in a ByteBuffer associated to the session. This is the typical case with heartbeats. The outcome oft his problem is an OOM when lots of session are doing the same thing.
A heap dump will show a huge number of SimpleByteBufferAllocator$SimpleByteBuffer instances.
Moving to 3.3.2