public async Task RunLongRunningProcesses() { try { var tasks = BackgroundTasks.Select(task => task.Start(ApplicationCancellationToken.Token)).ToArray(); await Task.WhenAll(tasks); } catch (TaskCanceledException) { // ignored } }