Resulta que fue un problema de tiempo de espera transaccional.
Después de aumentar el tiempo de espera, inserté mi lista con éxito:
using (TransactionScope transaction =
new TransactionScope(TransactionScopeOption.Required,
new TimeSpan(0, 30, 0))) //30 minute timeout limit