Provate questo codice con Visual Studio 2003 (è in VB perchè in questo momento ho VB aperto anche con C# non cambia nulla)

Module Module1
 Sub Main()
  Dim x As New A
  Dim y As A.B = x.GetB '<-Mettete un breakpoint qui!
 End Sub

 Public Class A
  Private Child As B
  Public ReadOnly Property GetB() As B
   Get
    If (Child Is Nothing) Then Child = New B()
    Return Child
   End Get
  End Property

  Public Class B
  End Class
 End Class
End Module

Raggiunto il breakpoint proseguite a single step..., tutto ok, il codice funziona? bene.
Aprite ora la finestra Autos o Locals di Visual Studio e ripete l'operazione, come mai ora Child non è Nothing? chi la istanzia al posto mio?
La risposta è ovvia, la finestra Autos o Locals quando vi valorizza il valore di una property.
Vi assicuro, per esperienza personale, che questo 'dettaglio' può crearvi non pochi problemi durante il debug, sopratutto in situazioni complesse come quella in cui mi sono trovato Io oggi...
E in Visual Studio 2005?
Fortunatamente questo 'dettaglio' è stato sentito dal team del debugger il quale ha pensato di offrire un opzione per questa feature.


Deselezionandola non avrete più questo effetto indesiderato...