Stolen Server Memory and Database Cache Memory
"stolen" memory?  I like that.  Seriously though, I think the question may be clearer with OS vs SQL memory.  SQL will use the startup minimum set up in the config.  If you didn't set a maximum, then it will continue to steal memory as more work is demanded.

Thus the available total RAM for the OS decreases over time.  Simply set a maximum in the SQL properties, in your case 28GB, so it doesn't steal everything and starve the OS.

This is how SQL behaves normally so it's not that much of a thief.  Hope that helps.