Right now, if a ResourceProviderFactory is unregistered, the ResourceResolverFactory is first unregistered and then registered again. This is in order to clean up all usages of ResourceResolvers which might have a reference to the unregistered provider factory.
This reregistration can lead to nearly the whole system going down and up again. Therefore if there are several unregistrations in a row, the system might go down and up several times. If there are circular dependencies, this might also result in an endless down/up loop.