Can you please share situations, where setting disposable by key is needed? It is interesting to know, when it can be useful, especially in comparison with SerialDisposable, which has the following description:
/// Represents a disposable resource whose underlying disposable resource can be replaced by another disposable resource, causing automatic disposal of the previous underlying disposable resource.
public final class SerialDisposable {}