Why if I run the following code does the argument in the Add method pass {"foo2", "bar2"} in both method calls?

Code:
        Dim myList As New List(Of String)

        myList.AddRange(New String() {"foo", "bar"})
        Add(New RandomClass("blah", myList ))

        myList .Clear()
        lb.AddRange(New String() {"foo2", "bar2"})
        Add(New RandomClass("blah2", myList ))
Thanks