I have not ever set the proxies using the PRoxy.Credentials method, instead I set the credentials within a new WebProxy & then set the request's proxy to that, E.g.
If Proxy <> Nothing AndAlso Proxy <> "0" AndAlso Proxy <> "" Then
Dim myProxy As New WebProxy(Proxy, Port)
If ProxyUser <> "0" AndAlso ProxyUser <> "" Then myProxy.Credentials = New NetworkCredential(ProxyUser, ProxyPass)
request.Proxy = myProxy
End If
Never had any caching issues when using this method, you mentioned that the issue occurs when using a username/password proxy. Also when you are catching the exceptions change them to a MessageBox incase the exception is empty / not formatted for the exception you are catching so that you can see if an error occurs rather than looking over an empty listview item as if the error is occuring before you are setting the content then the content would remain the same & look like it is caching when in actual fact it has not changed at all but instead an exception occured before you get to that point.