Это называется очисткой незанятого пространства, и это умеют многие «удаляторы», не только CCleaner. SDelete и Eraser тоже это умеют, причем при очистке незанятых кластеров применяются те же многопроходовые алгоритмы с чередованием паттернов и «мусора», что и при уничтожении файлов.
При реаллокации (неважно по какой причине она произошла) это, похоже, единственный вариант гарантированно уничтожить все следы файла, но, к сожалению, и очень затратный по времени.
Так и есть, но в эту тему не планировалось углубляться. Мы имеем факт, даже два: 1) при перезаписи происходит реаллокация; 2) мы не нашли способа повлиять на это. Поэтому просто идем дальше и смотрим другие инструменты.
При реаллокации (неважно по какой причине она произошла) это, похоже, единственный вариант гарантированно уничтожить все следы файла, но, к сожалению, и очень затратный по времени.