assuming that you dont have any exception in line
sourcefilename = fi.Name;
your file existence check returns false (possibly) here:
if (File.Exists(cleanedfiles))
because of improper file path creation in line
string cleanedfiles = Sourcefolder + sourcefilename;
use
Path.Combine
method to get a proper full path.
cleanedfiles= Path.Combine(Sourcefolder, sourcefilename);
and to be sure, you can add 'else' part for the if(File.Exists)