protected void WaitBetweenFailedRequests(ref TimeSpan previousRetryDelay)
{
previousRetryDelay = previousRetryDelay + NetworkRetryWaitStep;
if (previousRetryDelay > NetworkRetryWaitMax)
previousRetryDelay = NetworkRetryWaitMax;
using (var failedRequestWait = new ManualResetEventSlim())
failedRequestWait.Wait(previousRetryDelay, cancellationTokenSource.Token);
}