To be a bit more precise, the rule doesn't unsubscribe when PB is false. The rule unsubscribes when the required expression is false. In your case those two are equivalent, but any false required expression should remove the subscriptions.
I don't see your rule actions, but something must be stopping the rule between when you set the PB false and when you set it true again.