El memory limit entiendo que sirve para que guarde en disco lo que va escribiendo en ram cuando llega al limite fijado, por lo que evitaría tener que hacer un "tileado" manual.
Comentas que teniendolo activo, ya no te devuelve el error de memory allocation. Y también que se queda colgado durante 6h sin que hacer nada. ¿No escribía en memoria? Visualiza las columnas memoria en uso, tanto fisica como virtual en el task manager.
En caso que siga escribiendo en memoria, aunque no veas un uso intensivo de cpu, podría ser que se haya enfrascado en un cálculo, debido a algun error derivado de la escena y los parámetros de render. Probablemente del BSP si usas raytracing, ya que comentas que te sucede en el shadow_pass.
Si tienes tiempo para perseguir el problema, prueba a deshabilitar los outputs de los pases en que te sucede esto.
Si no lo tienes, prueba creando otro shadow pass, o construye uno manualmente.