Take a look at this thread, especially the responses by flaired users.
What I took from it is that while McClellan was generally cautious, there were other factors. His chief of intelligence greatly overestimated the enemy forces, and while McClellan could be faulted for not seeing through his faulty intelligence, what he did is makes sense based on what he was told was true.
Part of the blame for him not committing his last reserve corps at Antietam must fall on the comment made by the corps commander Fitz Porter.
Also he did pursue Lee after Antietam, contrary to popular knowledge. But he was defeated in the rearguard action.
With regard to "5th Corps" at Antietam one must remember McClellan had committed Griffin's and Stockton's brigades of Morell's division to reinforce Franklin for one last push on the right, and had sent Warren's brigade of Sykes' division to reinforce Burnside on the left. Thus when the so called "gap" opens up McClellan only has 2 of Sykes's brigades and Barnes's brigade of Morell's division.
Furthermore, several people who were there explicitly deny Porter's "last reserve" comment ever occurred, pointing out that McClellan at the time still had not returned from reorganising his right wing. Porter in his rebuttal point out he only had 4,000 men in the centre. Is this enough to make a charge against the 27 reb guns on the hills in that sector?