Use Trace.Assert for this, it also works in release mode. See the documentation on how to use listeners to use a different method than creating a dialog. Exposure:
DefaultTraceListener. DefaultTraceListener Listeners, . DefaultTraceListener <clear> < > <trace> , <remove> < > <trace> , Clear Listeners (System.Diagnostics.Trace.Listeners.Clear()).
, :
#if (!DEBUG)
System.Diagnostics.Trace.Listeners.Clear();
#endif