Adding tracing via TraceSource and adding TraceSwitch for controlling the level of tracing using System.Diagnostics.Trace

You can make this one line now since you remove logging related line.
throw new ArgumentException...