Có vẻ như điều này sẽ hoạt động tuy nhiên những thay đổi (và do đó là bộ nhớ) được DataContext lưu giữ sẽ tăng lên với mỗi InsertOnSubmit. Có lẽ bạn nên thực hiện một SubmitChanges cứ sau 100 bản ghi?
Tôi cũng sẽ xem xét SqlBulkCopy để xem liệu nó có phù hợp hơn với usecase của bạn hay không.