McClelland didn’t ‘win’ so much as he ‘failed to lose’. Antiedam was an opportunity to crush the ANV on the wrong side of the Potomac River. Instead McClelland had to settle for a very narrow strategic victory — he did deny Lee’s vision of a victory on “Union Soil”. But only just. The ANV got away.
Had McClelland actually exercised command on his various corps commanders and made a coordinated assault something in Lee’s army would have broken. Most likely at the stone bridge where his lines were thin.
McClellan had to play it safe and remain in a defensive posture simply because he couldn't afford to lose. If McClellan had of gone on the attack and lost the battle, there would have been nothing to stop Lee from attacking and capturing Washington D.C.
McClellan's priority at the time was to defend the U.S. Capitol. Destroying the ANV could wait for another day.
This was all passed on to me by one of McClelland's descendants, that still live in the D.C. Area.