Como dijo Aquaventus, es para diferenciar las variables o propiedades internas de las externas
como por ejemplo en los constructores
Código vb:
Ver originalprivate _nombre as string
Public Property Nombre as string
get
return _nombre
end get
set (Byval Value as string)
_nombre = value
end set
end property
Public Sub New(Byval Nombre as string)
me.Nombre = Nombre
End sub