Mach es anders.
also du startest den backgroundworker im form1 load event.
im backgroudworker mach ne while true (eine endlosschleife) rein und lässt nach jedem schleifen durchlauf mit sys.threading.thread.sleep(1000) sein programm eine bestimmte zeit warten.

Code:
 Private Sub bgWorker_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bgWorker.DoWork
while true      
  Try
            Dim httpRequest As HttpWebRequest = HttpWebRequest.Create(txtURL.Text)
            Dim httpResponse As HttpWebResponse = httpRequest.GetResponse()
            Dim reader As StreamReader = New StreamReader(httpResponse.GetResponseStream)
            Dim httpContent As String = reader.ReadToEnd
            txtContent.Text = httpContent
            If txtContent.Text.Contains(txtString.Text) = True Then
                notifyCheck.ShowBalloonTip(10000, "Anwendung", "Neues Ergebnis bei: " & txtURL.Text, ToolTipIcon.Info)
                txtString.Clear()
            End If
        Catch ex As Exception
            MsgBox("Es ist ein Fehler während der Verbindung zu: " & txtURL.Text & " aufgetreten." & vbCrLf & _
                   "Überprüfen Sie Ihre Internetverbindung.", MsgBoxStyle.Information, "Anwendung")
        End Try
      sys.threading.thread.sleep(1000)'eine sekunde warten
end while
    End Sub
@hackerking, nein abort ist bei einem thread objekt.