I get the concept of ArrayPools.
But I don't quite understand why to use MemoryPools (C#). A Memory<T> represents a contiguous region of memory, like a (more complex) pointer. My thought is, that there is no need of pooling when directly pointing to an adress. Afaik nothing has to be allocated (except the overhead)? But the existence of this Struct indicates that there is a reason...so what is it? (googled/stackoverflowed but did not found sth. enlighting)
To make it plastic : What is the disadvantage in this use-scenario without an arraypool?
var arr = new double[100];
var mem = arr.AsMemory(0,100);
vs
var pool = MemoryPool<double>;
var owner = pool.Shared;
var arr = new double[100];
var mem = owner.Rent(100);
mem = arr.AsMemory(0,100);