You need to move the
Dim tempList As New List(Of String)
line inside your loop.
At the moment, you are adding the same list into MsgList each time, and them clearing all the entries.
If you want a list of lists of strings, you must create a new one each time.
I don't know why you are doing it that way though - it seems a very long way round...