Your FTP server should know which files are actually being uploaded.
A good implemented server would also lock the file even for reading while the upload is in progress. Then your service might detect the new file but will be not be able to open it.
If there is no read lock, there should be at least an exclusive write lock. So you can try to open the file for appending (close it immediately upon success). Failure indicates then that the file is still uploading.
The last resort is getting a list of open file handles and check if the file is in the list. But this can be difficult with C# (there is an article using C++ her at CP:
Listing Used Files[
^]).