Just flipping /3GB isn't enough for most programs. It has the effect on the kernel, true, but unless your process's executable has the Large Address Space Aware flag set, Windows won't actually give you the full 3GB space. Link your executable with /LARGEADDRESSAWARE or use EDITBIN.
By default .NET 1.1 processes dont have the Large Address Space Aware flag set so you must do this yourself. As you dont have linker options inside Visual Studio for C# projects I did this using a post build step, something like this:
call "$(DevEnvDir)..\Tools\VSVARS32.BAT"
editbin.exe /LARGEADDRESSAWARE "$(TargetPath)"
Now all that extra RAM is mine! muhahaaha.
[Update: and of course if you have signed your executable assembly, you will need to re-sign it with the sn.exe tool.]