I think he did not commit treason (unless I missed something). He only promised his Chinese counterpart that
1) The US would not launch a nuclear strike.
and
2) If a nuclear strike was imminent, he promised to commit treason by warning his counterpart ahead of time.
Promising to commit treason is not treason, I suppose. Particularly if he was lying to the enemy. One presumes that a loyal military leader would assert (1) to his counterpart - and perhaps even (2) falsely in the event of an actual strike.
I don't think he was lying - that is, I think he would have committed treason, but since no attack was happening, there was no opportunity.