>>435
一番知りたいのはフォームアプリとコンソールアプリでなぜこのような違いがでるのかっていう点ですね
それについては>>432の理解でよいのでしょうか
前半は肯定してもらったのですが、後半はどうでしょうか

>DownloadFileAsyncはイベントベースで完了を待つ(ことができる)もの
DownloadFileTaskAsyncでもcompletedイベントハンドラが動きました


とここまで書いて一発で疑問を解決してくれるコードを発見です

static void Main(string[] args)
{
var url1 = new Uri("http://tekitou/xxx.csv";);
var csv1 = "aaa.csv";
var client = new WebClient();
client.DownloadFileAsync(url1, csv1);
Console.ReadLine();
}

もちろんこれがアプリの中で使えるということではないんですが
基本の基本となる理屈がこれで分かりました
コンソールとフォームの違いに重点を置いた説明ってなかなか見当たらないんですよね
どちらかに特化したものはあちらこちらにあるんですけど。
そのせいで頭に生じた矛盾点が解決できず基本理解が大きくゆれていたんです

あと、>>418のBで順番を逆にしたら期待通りの結果が得られました

解決です