Adicionando pausa e continue a capacidade no meu downloader

Eu estou criando um downloader em c #. Eu estou usando a classe WebClient. Para pausar o download em um clique de botão, eu poderia pensar em usar o Thread. Então, quando eu criei thread e anexou-o com o meu arquivo baixando como abaixo

WebClient web = new WebLCient();
Thread dwnd_thread = new Thread(Program.web.DownloadFileAsync(new Uri(Program.src), Program.dest));

está me dando seguintes erros: "A melhor correspondência de método sobrecarregado para 'System.Threading.Thread.Thread (System.Threading.ThreadStart)' tem alguns argumentos inválidos" e "Argumento '1': não é possível converter de 'void' para ' System.Threading.ThreadStart '".

Então eu pensei que se eu pausar meu thread principal do sistema, então ele poderia bloquear todo o meu processo para que eu usei abaixo da linha de código

System.Threading.Thread.Sleep(100);

mas não está fazendo nada. Alguém pode me dizer qual poderia ser uma abordagem melhor para pausar / baixar e como usar o thread para pausar meu processo de download.

questionAnswers(2)

yourAnswerToTheQuestion