I was thinking of life-cycle here. Object pooling under the covers is fine, as long as it retains the same semantics of garbage collection that ensures each lifecycle starts it as unsubscribed, it is used by only 1 Subscriber/Producer until unsubscribed and then freed.