NettyHttpProducer depends on onCompletion synchronization do release allocated buffer. However content enricher could create exchanges without UnitOfWork. Here is example unit test to reproduce issue:
Setting shareUnitOfWork=true on enrich() causes snippet to behave correctly.
I'm not sure where is the bug. Does Enricher is allowed to create exchanges without UOW? Maybe org.apache.camel.component.netty.http.NettyHttpProducer should create UOW if none is available? Or maybe my usage is wrong?