I'm not sure why your script doesn't work, unless the Select-String is keeping the file open as an object being passed down the pipe. If you rephrase it like this it'll work:
$DestDir = "C:\temp\NEWCSV"
$SrcDir = "C:\temp\CSV"
$SearchString = "TITLE"
gci $SrcDir -filter *.csv | ?{select-string $SearchString $_ -quiet}|move-item -Destination $DestDir