private void RunJob(CancellationToken cancellationToken) { var createdThreshold = DateTime.UtcNow.Subtract(TimeSpan.FromHours(1)); foreach (var server in _serverStore.All()) { if (cancellationToken.IsCancellationRequested) { break; } var isOld = createdThreshold > server.Created; var isEmpty = !server.Players.Any(); if (isOld && isEmpty) { _serverStore.Remove(server); } } }