а можно пример проблемы, а то не совсем понимаю, что там может быть за мусор?
что пулиться я знаю, но он не переиспользует память, что используется в данном BRP
только если из него уже что-то вычитано, то тот ChunkBuffer релизиться и отдаётся в пул
Как только закрывается скоуп, где используется ByteReadPacket, он отдается обратно в пул. После этого его может кто-то оттуда взять и записать что-то новое, не зная о том, что кто-то держит ссылку на него. В результате в том месте, где вы его читаете вы можете вычитать совсем не то, что положили. Ошибку очень сложно отловить, практически невозможно. Я с этим несколько недель бился. Именно по этой причине kotlinx-io вообще не экспозит то, что пулится в наружу