I gave your code a try and it returned the same results for me. I registered for the "DownloadProgressChanged" event and could see an exception:
System.Net.WebException: The remote server returned an error: (403) Forbidden.
Adding a user-agent header based on the following link resolves the problem:
WebClient - The remote server returned an error: (403) Forbidden