Well remember there is vram ram and disk.
vram (fast) ram (slow) disk (dead turtle)
Shared ram is junk its good for in between loading screens. (Only with x64 assemblies does have 18+ gigs of shared memory) not that it means much.
In xna i wrote my own TextureIdManager to load in Huge images and rewrite and overwrite textures if i had to. like super huge images some that paint couldn’t load, (don’t ask it was a old .dat file over 1 gig in size with a ancient encoding and 10k images lol). It also tracked how many megs or gigs i loaded.
Turned out in xna the limit is just under 2gigs. This was actually a Virtual Memory limit (not video memory) imposed by windows due to the x86 assemblies. Which all have application limits of 2 gigs or a 2gig limit of vm per app and that counts against other loaded data as well.