This is driving me freaking crazy. This part of the code hangs on a 644kb file....

fs = New FileStream(strSearchPath & "\" & folder.Name & "\" & file.Name, FileMode.Open, FileAccess.Read)
sr = New StreamReader(fs)

strBuffer = ""

sr.BaseStream.Seek(0, SeekOrigin.Begin)

While sr.Peek() > -1
strBuffer &= sr.ReadLine()
End While
The error is Public Overrides Overloads Function ReadLine() As String

and it seems that this part loops over and over again, resetting strBuffer
While sr.Peek() > -1
strBuffer &= sr.ReadLine()
End While