Batch create with ExecuteMultiple
Create records in batches of up to 1,000 with ExecuteMultiple.
var batch = new ExecuteMultipleRequest
{
Settings = new ExecuteMultipleSettings { ContinueOnError = true, ReturnResponses = false },
Requests = new OrganizationRequestCollection()
};
foreach (var e in records) batch.Requests.Add(new CreateRequest { Target = e });
var response = (ExecuteMultipleResponse)service.Execute(batch);