It's because you're using auto generated properties. Those fields are automatically generated as the backing fields for the property. See section 9.7.4 of the VB 10 Lanugage Spec:
9.7.4 Automatically Implemented Properties
If a property omits declaration of any accessors, an implementation of the property will be automatically supplied unless the property is declared in an interface or is declared MustOverride. Only read/write properties with no arguments can be automatically implemented; otherwise, a compile-time error occurs.
An automatically implemented property x, even one overriding another property, introduces a private local variable _x with the same type as the property. If there is a collision between the local variable's name and another declaration, a compile-time error will be reported.
The automatically implemented property’s Get accessor returns the value of the local and the property’s Set accessor that sets the value of the local.
For example, the declaration:
Public Property x() As Integer
is roughly equivalent to:
Private _x As Integer
Public Property x() As Integer
Get
Return _x
End Get
Set (value As Integer)
_x = value
End Set
End Property