It's a bounded queue (a first-in-first-out queue with a fixed capacity).
This particular queue always allows addition of elements and silently remove head element for newly added element (when full).
In Java there is the CircularFifoQueue
that works exactly that way (see also Size-limited queue that holds last N elements in JavaSize-limited queue that holds last N elements in Java).
For .NET you'd take a look at: