Simple async/await progress bar
The final asynchronous VB function we use is WebClient.DownloadStringTaskAsync(). This is arbitrary, and is used for example purposes only.


This indicates to me that you should think about making this reusable, so that when you need to use the progress bar somewhere else, you don't need to copy &amp; paste the code.



Dim progressTarget As Action(Of Integer) ' We have to create an event handler for the function we use to report progress
progressTarget = AddressOf ReportProgress ' We assign the handler to our specific function (see below)
myProgress = New Progress(Of Integer)(progressTarget) ' When we initialize our progress reporter, we pass our handler to it


This is way too verbose. What's wrong with just the following line?

myProgress = New Progress(Of Integer)(AddressOf ReportProgress)


You don't need to comment every single thing you do, that's obvious from the code.



You should disable the button that doesn't make sense at the moment. This is especially important for the StartButton, because right now, the user can start the download multiple times.



Dim myString As String = ""

' code that doesn't use myString

myString  = …

Return myString


There is no need to declare the variable early or to set it to "". Actually, there is no need to declare the variable at all, you can just return the expression directly.



Names like Label1 and myInt are very unhelpful. Use descriptive names like ProgressLabel (though that's not great either) and stepNumber.