Why is this an issue?
There is no good reason to create a new object to not do anything with it. Most of the time, this is due to a missing piece of code and so could
lead to an unexpected behavior in production.
If it was done on purpose because the constructor has side-effects, then that side-effect code should be moved into a separate, static method and
called directly.
Noncompliant code example
if (x < 0)
new ArgumentException("x must be nonnegative");
Compliant solution
if (x < 0)
throw new ArgumentException("x must be nonnegative");