Hi, there seem to be an issue with wget. Whenever you run it with --unlink and the file already exists locally the file is not overwritten. It appears that the decision whether to unlink is made after a new numbered name is generated and stored in hs->local_file. As before unlink() a check is done vs the new name the file with original name is never deleted.
Per wget manual: --unlink Force Wget to unlink file instead of clobbering existing file. This option is useful for downloading to the directory with hardlinks. I'd expect it to unlink the file instead of creating a new name for it. This was reproduced with http on wget 1.15 and 1.17.1.