You are close but not completely right.
What actually happens when game needs more memory, is that it asks Operation System to allocate more memory for it. But in case the memory is already full, the OS has to temporarily store in the hard disk some (rarely used) data from the memory, to free up space in the memory. It then temporarily moves the memory data to a file known as swapfile, but since disk access is much slower than memory access, it takes a while, and the program that actually requested the memory has to wait. This is what happens in case of stutter - your game is waiting for OS to provide free memory. And this is also why your HDD starts working hard during the stutter, and also why SDD helps in this case (because it allows faster writing of memory data to disk - but still slower than having more memory in the first place).