Il semble que cela fonctionnerait, mais les modifications (et donc la mémoire) conservées par le DataContext vont augmenter avec chaque InsertOnSubmit. Peut-être est-il conseillé d'effectuer un SubmitChanges tous les 100 enregistrements ?
Je voudrais également jeter un oeil à SqlBulkCopy pour voir si cela ne correspond pas mieux à votre cas d'utilisation.