Если вы обновите свой внутренний цикл, как это, это должно помочь.
ServicePointManager.DefaultConnectionLimit = 30;
var tasks = new List<Task>();
foreach (var deleteItem in deleteItems)
{
task.Add(graphServiceClient.Sites[siteUrl].Lists[listName].Items[deleteItem.Id]
.Request()
.DeleteAsync());
}
Task.WaitAll(tasks.ToArray());
Также обратите внимание, что число открытых соединений по умолчанию равно 2. Увеличение этого числа будет использовать немного больше памяти, но эторазрешить много одновременных вызовов.
Мне было бы очень интересно узнать влияние на производительность в этой конкретной ситуации.В настоящее время мы пытаемся определить лучшие модели программирования для одновременных запросов к Graph.