Det ser ut som att detta skulle fungera men ändringarna (och därmed minnet) som lagras av DataContext kommer att växa med varje InsertOnSubmit. Kanske är det tillrådligt att utföra en SubmitChanges var 100:e post?
Jag skulle också ta en titt på SqlBulkCopy för att se om det inte passar din användning bättre.