That seems like an excessive amount of data to be working with.
Can you pass some filters to your web request to get just the data actually needed for the displayed content or business logic?
Or use a windowed query to just download small portions of the data at a time?
Aside from that, if you do just:
for each line in text.Split(Chr(13) + Chr(10))
' do something with line
end for
I would expect that to be orders of magnitude faster than using roRegex.
YMMV.