Originariamente inviato da MItaly
Il punto è che credo che il grosso del tempo si perda nello stabilire la connessione (risolvere il nome DNS, effettuare la richiesta HTTP) più che nell'effettivo download dei dati, che, usando lo stream in questa maniera, dovrebbe essere comunque ridotto al minimo indispensabile.
Ecco, ho risolto.
Proprio per quello che tu mi dici(la risolta del DNS e la richiesta HTTP), il processo diventa lungo. Ma se io invece di usare prima lo Stream, chiuderlo, e poi ri-fare praticamente il procedimento con WC.DownloadString("URI"), leggo lo stream fino alla fine, lo assegno, e poi lo chiudo?
E' quello che ho fatto, utilizzando il ByRef in una funzione:

codice:
    Private Function IsDescription(ByVal myStream As Stream, ByVal str1 As String, ByRef str2 As String) As Boolean
        Dim request As String = "URI" & str1
        myStream = WC.OpenRead(request)
        Dim sr As New StreamReader(myStream)
        str2 = sr.ReadToEnd().Replace("<pre>", Nothing).Replace("</pre>", Nothing)
        sr.Dispose()
        sr.Close()
        Dim bool As Boolean = False
        If str2.StartsWith("==") Then bool = True Else bool = False
        Return bool
    End Function
Ecco, e poi nel thread chiamante, scrivo i dati di str2 su di un file
Grazie ancora per il supporto, e spero che la soluzione vi sia andata a genio :P