Producer类中,当执行subscribe(_ observer: Observer)方法时,其内部创建SinkDisposer对象disposer
self.run(observer, cancel: disposer)中创建AnonymousObservableSink,持有了observer和disposer,并返回了AnonymousObservableSink和Observable的Handle返回的Disposable。
disposer调用setSinkAndSubscription
存储了AnonymousObservableSink和Observable的Handle返回的Disposable
那么SinkDisposer和AnonymousObservableSink相互引用了。
而被AnonymousObservableSink持有Observer中存在的订阅闭包可能持有self。
如果持有了self并且由self的垃圾袋管理,垃圾袋就不能打破SinkDisposer和AnonymousObservableSink的相互引用了。