En el siguiente video te explico una manera correcta de insertar miles de registros utilizando Entity Framework.
Aprende Entity Framework en 10 minutos
int numeroLotes = 1000; using (var db = new pruebaEntities()) { for (int i = 0; i < 4000; i++) { var oNumber = new numbers(); oNumber.number = i; oNumber.date = DateTime.Now; db.numbers.Add(oNumber); if(i%numeroLotes==0) db.SaveChanges(); } db.SaveChanges(); } }