@nayato you are right... let me fix it.
 Fixed https://github.com/netty/netty/pull/5219

wrong huge deallocation counting in PoolArena.free
right now there's `deallocationsHuge.decrement();`
should be `deallocationsHuge.increment();`

buffer/src/main/java/io/netty/buffer/PoolArena.java
buffer/src/main/java/io/netty/buffer/PoolArena.java
diff --git a/buffer/src/main/java/io/netty/buffer/PoolArena.java b/buffer/src/main/java/io/netty/buffer/PoolArena.java
index 1df94e493c3..e667d936c05 100644
--- a/buffer/src/main/java/io/netty/buffer/PoolArena.java
+++ b/buffer/src/main/java/io/netty/buffer/PoolArena.java
@@ -254,7 +254,7 @@ void free(PoolChunk<T> chunk, long handle, int normCapacity, PoolThreadCache cac
             int size = chunk.chunkSize();
             destroyChunk(chunk);
             activeBytesHuge.add(-size);
-            deallocationsHuge.decrement();
+            deallocationsHuge.increment();
         } else {
             SizeClass sizeClass = sizeClass(normCapacity);
             if (cache != null && cache.add(this, chunk, handle, normCapacity, sizeClass)) {
