Cuando se encuentra una condición de falta de memoria dentro del tiempo de ejecución, llama a ThrowOutOfMemory . Esto llama Exception :: GetOOMException , que construye el objeto en la pila y luego lo copia en una instancia global asignada estáticamente, que luego se arroja.
Esta no es la excepción conseguido, sin embargo, una excepción de C ++ declaró en ex.h . Las excepciones de C ++ se convierten en excepciones administradas en clrex.cpp , que contiene código para lanzar específicamente la excepción OutOfMemoryException administrada previamente asignada, que originalmente se asignó y construyó en appdomain.cpp .
Nota: Algunos de estos archivos de origen son grandes y pueden colgar su navegador durante varios segundos mientras carga el resaltado de sintaxis.
Los sitios de llamadas que Tim Schmelter enlazó en un comentario sobre la otra respuesta no están relacionados con el tiempo de ejecución que se está quedando sin memoria y no puede construir un objeto.