Sometimes a corrupt temporary file can often cause the disk cleanup utility to hang....try deleting all temporary files on your computer, and then try running the disc cleanup utility again.
Run your defrag from Safe Mode. At boot, before the Windows screen, press F8. Select Safe Mode from the option menu. Run Defrag. Of course, to do this properly, run Scandisk using the "thorough" option first followed by defrag.