Async/RetryPolicy doesn't consider its timeout value when deciding whether to sleep. For example, given timeout=1 and default values for other settings, when a retryable request fails, the policy will sleep for 1.6 seconds before deciding to raise a timeout error rather than send a retry. In such a case the policy could observe that it wouldn't send a retry after sleeping, and therefore raise the error instead of sleeping.