Protect against multiple Dispose() calls.
Replaced Stack collection with counter - it's all we need.