this.GetType().Name always return the name of the current executing type, not the type that the code that it was written in. You can emulate breakpoints though, using Debugger.Break() in a conditional manner:
if (this.GetType().Name == "Problematic type")
System.Diagnostics.Debugger.Break();