You write:
. . . At what point does he generate something that is not in $T$?
There's a fundamental falsehood here: that "being not in $T$" must be achieved in "finite time" (whatever that means). (A similar issue occurs in another question of yours, when you write "To identify the element that is not on his list Cantor must examine all the numbers on the list. How is that possible?")
The model of Cantor's construction being a "machine" that, at stage $n$, looks at the $n$th row of the list and determines the $n$th bit of the new real, is in many ways a very nice one (I personally quite like it), but it can also be extremely misleading. In this case, you've jumped to the conclusion that anything that happens at the "end" of the construction must happen at some finite stage.
But this is nonsense! If we're going to insist on thinking in terms of "stages" (which to be fair I often think is a good idea, and even sometimes in this context - just, not right now), then consider the following construction of a string of numbers:
$$\mbox{At stage $n$, write yet another "$1$".}$$ Clearly after infinitely many steps I get an infinite string of $1$s, but the string of $1$s never "becomes infinite" at any finite stage.
Similarly, the real Cantor is building - in this case, ${2\over 3}$ - is different from every element of the list you've provided. And indeed, for each specific $n$, the local property "is different from the $n$th element" is achieved at the $n$th "stage". But the global property "is different from every element on the list" is only achieved "at the end." This can feel weird, but that's ultimately an artifact of the metaphor not being perfect.
There's absolutely no contradiction here at all, merely some counterintuitiveness brought on by over-relying on a metaphor for what Cantor's construction is doing rather than looking at the proof itself.
Having said that, let me give a reminder of the proof itself, with no informal trappings (I'll prove that the set of infinite binary strings is uncountable, since that avoids decimal representation issues):
Let $(s_i)_{i\in\mathbb{N}}$ be a sequence of infinite binary strings; I'll find an infinite binary string $t$ such that for all $i$, $t\not=s_i$.
Specifically, define $t$ as follows: $$t(i)=1-s_i(i).$$ This is an infinite binary sequence, and for each $i$ we have $t(i)=1-s_i(i)\not=s_i(i)$, so for each $i$ we have $t\not=s_i$. So we're done. $\Box$
Note that the definition "$t$ is the unique sequence with the property that $t(i)=1-s_i(i)$" happened "all at once," so to speak; the idea of time and "finite stages" never needed to enter into the picture.