Sepertinya ini akan berhasil namun perubahan (dan dengan demikian memori) yang disimpan oleh DataContext akan bertambah dengan setiap InsertOnSubmit. Mungkin disarankan untuk melakukan SubmitChanges setiap 100 record?
Saya juga akan melihat SqlBulkCopy untuk melihat apakah itu tidak sesuai dengan kasus penggunaan Anda dengan lebih baik.