Si è trattato di un problema di timeout transazionale.
Dopo aver aumentato il timeout, ho inserito correttamente la mia lista:
using (TransactionScope transaction =
new TransactionScope(TransactionScopeOption.Required,
new TimeSpan(0, 30, 0))) //30 minute timeout limit