With a stack you normally push newly deactivated items onto the stack and pop them off when you need them. In other words they aren’t in the stack while they are being used. That way stack.Count == 0 says there are no more available. I use this method.