It looks like the error-retry-base-interval is accounted for with remoteHttp, but not when using s3. S3 does appear to account for error-retry, but does not include the linear backoff that error-retry-base-interval should introduce.
I think this could be fixed with a time.Sleep(time.Duration(attempt) * s.opt.ErrorRetryBaseInterval) before each of the three goto retry statements in s3.go?