There's still nothing in there that suggests that you need any name, random or not. In fact, if want you want is to download files or data then you don't even need a WebBrowser. It would be more appropriate to use WebClient objects to download. You can create as many as you like and perform one download with each. You would most like call an asynchronous method, e.g. DownloadFileAsync, and then use one method to handle the appropriate event, e.g. DownloadFileCompleted, of all WebClients. The 'sender' parameter will be a reference to the WebClient itself, so you can easily identify which download has completed.