Aguarde até que o arquivo esteja completamente escrito

Quando um arquivo é criado (FileSystemWatcher_Created) em um diretório eu copio para outro. Mas quando eu crio um arquivo grande (> 10MB) ele não copia o arquivo, porque ele já começa a copiar, quando o arquivo ainda não está finalizado ...
Isso causaNão é possível copiar o arquivo porque ele é usado por outro processo ser levantado. ; (
Qualquer ajuda?

class Program
{
    static void Main(string[] args)
    {
        string path = @"D:\levan\FolderListenerTest\ListenedFolder";
        FileSystemWatcher listener; 
        listener = new FileSystemWatcher(path);
        listener.Created += new FileSystemEventHandler(listener_Created);
        listener.EnableRaisingEvents = true;

        while (Console.ReadLine() != "exit") ;
    }

    public static void listener_Created(object sender, FileSystemEventArgs e)
    {
        Console.WriteLine
                (
                    "File Created:\n"
                   + "ChangeType: " + e.ChangeType
                   + "\nName: " + e.Name
                   + "\nFullPath: " + e.FullPath
                );
        File.Copy(e.FullPath, @"D:\levan\FolderListenerTest\CopiedFilesFolder\" + e.Name);
        Console.Read();
    }
}

questionAnswers(9)

yourAnswerToTheQuestion