¿Cómo evitar el desbordamiento de memoria cuando se utiliza un IEnumerable <T> y Linq-To-Sql?

Esta pregunta está relacionada conuna pregunta previa mia

Ese es mi código actual

<code> IEnumerable<Shape> Get()
 {
     while(//get implementation
         yield return new Shape(//...
 }

 void Insert()
 {
       var actual = Get();
       using (var db = new DataClassesDataContext())
       {
           db.Shapes.InsertAllOnSubmit(actual);
           db.SubmitChanges();
       }
 }
</code>

Tengo un desbordamiento de memoria, ya que IEnumerable es demasiado grande. ¿Cómo lo prevengo?

Respuestas a la pregunta(4)

Su respuesta a la pregunta