System.Threading.RateLimiting.ChainedPartitionedRateLimiter<TResource>
Acquires leases from rate limiters in the order given. If a lease fails to be acquired (throwing or IsAcquired == false)
then the already acquired leases are disposed in reverse order and the failing lease is returned or the exception is thrown to user code.