Try
' Open the file using a stream reader.
Using sr As New StreamReader(curFile2)
' Read the stream to a string and write the string to the console.
ip_text = File.ReadAllLines(curFile2)
End Using
Catch er As Exception
MsgBox("The file could not be read: IP", MsgBoxStyle.Critical, "Error")
Exit Sub
End Try

Try
' Open the file using a stream reader.
Using sr2 As New StreamReader(curFile1)
' Read the stream to a string and write the string to the console.
user_text = File.ReadAllLines(curFile1)
End Using
Catch er As Exception
MsgBox("The file could not be read: User Agent", MsgBoxStyle.Critical, "Error")
Exit Sub
End Try

You get the error because the new thread(s) that you create are generally in a so called Multithreaded Apartment (MTA). According to the error the WebBrowser control can only be created on a thread that is in a Single-threaded Apartment (STA, an example being the UI thread).

Changing your thread's apartment is not recommended because it must be MTA in order to be multithreaded alongside of the UI thread.

This leaves you with pretty much only one option: create and modify the control on the UI thread only, and do the other heavy lifting in your new thread.

I would create the control on the UI thread, and in the end of the thread I would perform invocation to run the navigating code.