Windows Server 2008 R2 always has 50% available RAM

The hook: Available RAM never changes. Its always a steady ~2200MB.

I'm running NodeJS + MongoDB (started by Task Scheduler) on Windows Server 2008 R2 with 4 GB of RAM in a VM running on top of vSphere. The host machine hypervisor never shows above 25% resource usage for memory and CPU but a few times a day Node and MongoDB get very slow to respond for 5-40 minutes and then bounce right back to being quick and responsive. The windows CPU usage during this time hovers around 20% and the RDP session says very responsive. Besides Node and MongoDB there is periodically another user using RDP to run a desktop application which saves images to MySQL.

I suspect that Node and Mongo are getting swapped to disk when MySQL spins up and starts doing things but the RAM usage doesn't change. Looking at the graph is a straight line. Free RAM is low, which is good, but available barely changes. So why isn't the available ram being used more efficiently so my apps don't become unresponsive?

Description of my screenshot: Physical Memory: Total 4095; Cached 2305; Available 2259; Free 17 Kernel Memory (MB): Paged 432; Nonpaged 100 System: Handles 26091; Threads 1141; Processes 89