Now that there is a decent library for buffer pooling for C#, it is time to use a pool instead of direct allocations.
The most important benefit for using it is less pressure on the GC, but there are other benefits too:
Eliminate Large Object Heap allocations
Avoid memory leaks by having a bounded pool size
Avoid memory fragmentation