The .vmsn file includes the current configuration (.vmx) and bios setting (.nvram). The memory is stored in the .vmem file.
Maybe the virtual machine overhead and the delta page with memory changes made during the creation of the VMEM dump are also included so there’s no need for stunning the VM for a long time. It could also include the memory of the VGA card.
This KB article contains misleading information the VMEM file is not mentioned and the VMSN file doesn't contain memory.
The vmsn also has CPU state, contents of CPU registers, GPU state, all needed for restoring back the exact state of your VM on when the snapshot was taken. The CPU flag list is not only for EVC, but also if you resume a VM on another host. You'll get a warning that CPU changed.
— Wil van Antwerpen (@wilva) January 11, 2019
It is my understanding that the screenshot you see on snapshotting/suspending a VM is also in the vmsn. But I've not confirmed that myself.
— Wil van Antwerpen (@wilva) January 11, 2019