The process explained
When you install or uninstall a program, it will register or unregister the usage of one or more
.dll files are placed in the Windows
syswow64 directory when installed, and they are common files for many applications. These files often are in use at the time of uninstalling a program, and as such Windows has a built-in system to check for unused (after uninstall, no other program is using these files anymore)
.dlls at shutdown to remove them when the applications that were using them are terminated (basically the uninstaller tells Windows to verify the files for deletion).
When Windows has closed the programs, it will then delete any file that is no longer assigned to a program to clean up the computer.
You may be wondering, if that's all there is to it, is rebooting necessary? Yes and no. Basically, you have to make sure Windows will be shutdown properly or risk leaving unnecessary files behind. If you know your computer is stable, and you will be rebooting it in a matter of hours, you really do not need to reboot your PC right now. If you regularly put your computer to sleep/hibernate and don't want to reboot as much as possible, you better do reboot for an uninstall because sleep/hibernation may cause a system to shutdown unexpectedly in the long run, which can keep files on your PC that do not need to be there anymore.
Is it harmful if these files remain on my PC?
Technically speaking, no. It's a waste of diskspace, yes, and if it happens with too many files, it may slow down your PC, because every .dll that is loaded with Windows will be adding to resources used to operate your computer.
Is there a difference between using reboot vs shutdown?
Both options will close the programs and run the necessary cleanup routines, so both are fine to use. Windows just notifies you to reboot because that way it can guarantee that Windows is being kept tidy.
Is it okay if I hold the power button so the computer is turned off immediately?
No. This is not a normal shutdown, and thus Windows will not be able to run the cleanup routine. You can see this option as if Windows was crashed.