If I use add() directly, an unsubscribe call will unsubscribe the inner scheduler which prevents further scheduling actions. This way, MAS holds the reference to the async subscription for the duration while the Action1 is executed. After that, there is no need to keep a reference to the schedule's Subscription. However, if we don't plan to use async unsubscription, then MAS can be simplified into add().