var response = await this.resiliencyPolicies.ExecuteAsync(async () => await base.SendAsync(request, cancellationToken));
This call hangs indefinitely when called in a web application hosted under IIS. Using the exact same code in a console app runs to completion successfully. Subsequent calls to ForgeHandler.RefreshTokenAsync() also hang because the semaphore object is never signaled.