I've found that this is an issue related to with .NET memory management on IIS allocated to the large object heap and application pool memory recycling settings.
On 32 bit servers with 1GB or less of physical memory the server will default memory recycling at 60% of physical memory usage which will be about 600MB. Above 600MB you will notice a significant increase in outofmemoryexceptions by microsoft's own admission.
http://msdn.microsoft.com/en-us/library/ms972959.aspx
"A memory limit of 60% of physical RAM is recommended to avoid paging, especially when a new process replaces the old one due to excessive memory consumption.
.....
It is important to adjust the memory limit on machines with large amounts of physical RAM, so that the cache memory manager and process recycling function properly. For example, assume you have a server with 4 gigabytes (GB) of physical RAM that is using the default memory limit. This is a problem. Sixty percent of physical RAM is 2.4 GB, which is larger than the default virtual address space of 2 GB. So what should the memory limit be set to?
......
There are a couple things to consider: F**irst, the likelihood of experiencing an OutOfMemoryException begins to increase dramatically when "Process\Virtual Bytes" is within 600 MB of the virtual address space limit** (generally 2 GB), "
With 1GB of physical memory the default settings will be ok, but with greater than 1GB you will need to make some adjustments to app pool memory recycling settings or change appropriate metabase settings.
Other related articles: