Unmoveable files are also going include parts of the registry, the page/swap file, and (for laptops) the hibernation file.
The last two, pagefile.sys & hiberfil.sys, can be a several Gb in size as they're extending or backing up RAM.
The more physical memory you have, the larger these files tend to be.
As these files are always in exclusive use by the kernel, then no other user-mode process can defragment them.
I would have thought that you should able to defrag restore point data as it shouldn't be in continuous use by the system, I could be wrong though...