Для дебага полезная штука - напиши свой Proxy:

 [System.Diagnostics.DebuggerTypeProxyAttribute(typeof(DebugClass))]
публичный класс YourClass { ... }

Где DebugClass — это отдельный класс, который может сохранять геттеры и поля. Еще у него должен быть конструктор, который будет принимать инстанс YourClass.

Это сильно помогает при дебаге сложных вещей.

Читать далее