Fixed a pseudo-bug where cancelling a collection subscription during enumeration could cause an infinite loop
- In practice, could not trigger due to Observables using returned IDisposable to dispose
- In potential future, code could have been repurposed in a way that triggered the bug
- Added a test to detect the bug.