32 bit applications are restricted to a maximum of 2GB of memory usage by default. There are several good reasons for this. One is that there may not be enough physical memory available, which may force the system to swap a lot. So do the following on your own risk.

You may use up to 4GB by setting the "large address aware" bit in the header of the executable and adapt the checksum.
There are several tools out there to do this patch. One is provided by Microsoft in the Visual C package.
"editbin /LARGEADDRESSAWARE i_view32.exe"
You may check the patch using
"dumpbin /HEADERS i_view32.exe"
which dumps the following characteristic if the bit is set.
"Application can handle large (>2GB) addresses"
If you are not using Windows 7 then you should check that the boot.ini file of the OS contains the /3GB switch maybe together with the userva option.

I'm using the patch now for a while on a 8GB machine and Irfanview is working fine in general. But some plugins do not like to run in the upper 2GB. One is IrfanPaint.

Maybe this thread should be moved to technical documents by a moderator.