ArrayPool в C#
Пул ArrayPool лежит в пространстве имён System.Buffers. Общий пул берут через Shared. Метод Rent возвращает массив запрошенной длины или длиннее.
После работы массив возвращают методом Return, иначе буфер нельзя выдать снова.
Арендуем буфер не короче 8 элементов и проверим длину:
using System.Buffers;
int[] rented = ArrayPool<int>.Shared.Rent(8);
Console.WriteLine(rented.Length >= 8);
ArrayPool<int>.Shared.Return(rented);
Арендуйте буфер символов минимум на 16 ячеек, верните его и выведите, хватает ли длины.