¿Por qué 'Cualquier CPU (prefiero 32 bits)' me permite asignar más memoria que x86 en .NET 4.5?

De acuerdo con muchas respuestas SO yesta publicación de blog ampliamente citada, una aplicación .NET 4.5 creada para 'Cualquier CPU' con la opción 'preferir 32 bits' seleccionada se ejecutará como un proceso de 32 bits en sistemas de 32 y 64 bits (a diferencia de .NET 4.0 y versiones anteriores). En otras palabras, x86 y AnyCPU con 'preferir 32 bits' seleccionados son equivalentes (ignorando si puede o no ejecutarse en ARM).

Sin embargo, mis pruebas han demostrado que en un sistema de 64 bits, una aplicación 'AnyCPU prefiere 32 bits' (que confirmo que ejecuta 32 bits) puede asignar más memoria que una x86. Escribí una aplicación de consola .NET 4.5 C # que asigna matrices de bytes de 10 MB en un bucle (manteniendo las referencias, por supuesto) hasta que llega a una excepción OutOfMemoryException, y la ejecuté en un sistema de 64 bits con mucha RAM. Cuando se construye como x86, cae aproximadamente a 1,2 GB asignados. El mismo código creado como 'Cualquier CPU (prefiera 32 bits)' obtiene hasta 1.5 GB.

¿Por qué la diferencia?

Respuestas a la pregunta(1)

Su respuesta a la pregunta