OutOfMemonryException异常通常由以下因素造成:
1、将大型数据集读入内存中。
2、创建过多的缓存条目。
3、上载或下载大文件。
4、在分析文件时过多地使用正则表达式或字符串。
5、过多的视图状态。
6、会话状态中有过多的数据或者会话过多。
7、程序中存在死循环,或者循环次数过大。
8、对 COM 对象调用一个方法,并且该方法返回包含安全数组(大小不固定的数组)的用户定义类型时,可能引发此异常,并附带一条额外的消息“存储空间不足,无法完成此操作”。这是因为 .NET Framework 无法封送带有安全数组类型的结构字段。
9、程序中用完的对象没有及时释放掉。
参考资料: OutOfMemonryException异常的原因 http://www.studyofnet.com/news/280.html