You don’t need to retain signals in order to process them.
Any objects referenced from those blocks will therefore be retained as part of the subscription.
Finite or Short-Lived Signals
Subscription is automatically terminated upon completion or error, and the subscriber removed.
The RACSignal -> RACSubscriber relationship is torn down as soon as signal finishes, breaking the retain cycle.