The backlog should just be bounded. At any fixed budget (for deveopers or tokens), there is a fixed capacity. That implies prioritization and it implies not doing things now but doing them later.
But unbounded backlog is dumb. Obviously some things will just never be done and it's better to be honest and drop them rather than just let the backlog grow forever.
The usual bottleneck is that you don't know which tickets in the backlog are higher or lower priority. You have to look and prioritize the backlog and... prioritizing tickets that aren't important enough to work on now is the definition of fluffy bs things to spend time on.
So in practice, the backlog gets "prioritized" by being ignored. If something is important, it'll come up again and reality will force you to do it, not the issue sitting unlooked at in linear