C#循环体内如何在每次循环执行完成后释放函数占用的内存

在一个循环体内,有一个函数,函数里有大量的new语句,占用了内存。我发现,当前循环结束进入下一次循环,上一次函数占用的内存并没有释放,这样下去,循环到一定次数,就出现了内存不足的情况,请问如何解决?请高手指点!跪谢

一:函数内的new语句使用using,这样每次用完都会自动关闭释放
二:当循环结束调用垃圾回收,GC.Collect()函数