using System.Diagnostics;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Collections;
public static async Task Main()
var batches = Enumerable.Range(0, 1000);
int batchSize = batches.Count();
for (int i = 0; i < batchSize; i++) {
var currentBatchSize = batches[i].ToList();
Stopwatch sw = new Stopwatch();
var response = await _client.DeleteObjectsAsync(request);
const int deleteCallsPerSecond = 3500;
int delay = request.Objects.Count * 1000 / deleteCallsPerSecond;
delay = (int) (delay - sw.ElapsedMilliseconds);
if (i <= batchSize -1 && delay > 0) {