Преимущества использования ArrayPool<T> в .NET Core:
- Повышение производительности в ситуациях, когда массивы часто создаются и уничтожаются, что приводит к значительному давлению памяти на сборщик мусора. bool.dev learn.microsoft.com
- Потокобезопасность класса, все члены которого могут одновременно использоваться несколькими потоками. learn.microsoft.com
Недостатки использования ArrayPool<T>:
- Сложные структуры данных. habr.com Неудачная или неподходящая для конкретного профиля нагрузки реализация пула может испортить производительность. habr.com
- Усложнение кода при избыточном пулинге, особенно когда появляется ручной подсчёт ссылок и другие нетривиальные способы трекинга жизненного цикла объектов. habr.com
- Риск использовать уже возвращённый в пул объект и не заметить этого. habr.com
Выбор между преимуществами и недостатками использования ArrayPool<T> зависит от конкретных условий разработки.