Like the title, here is what i've done so far:
\begin{align*} Cov(X, E[X|Y]) &= E(XE[X|Y]) - E[X]E[E[X|Y]] \\ &= E(XE[X|Y]) - E[E[X|Y]]E[E[X|Y]] \\ &= E(XE[X|Y]) - E[E[X|Y]]^2 \\ \end{align*}
Hence it remains to show that $E[XE[X|Y]] = E[E[X|Y]^2]$, however to be honest this does not seem right to me.
Let $$Z=XE[X|Y].$$ Then $$E[Z]=E[E[Z|Y]].$$ [Tower property of conditional expectation]. Now $$E[Z|Y]=E[X(E[X|Y])|Y]=E[X|Y] E[X|Y]$$ since $E[X|Y]$ is already $Y-$measurable so it comes out of the conditional expectation. Thus, $$E[Z|Y]=(E[X|Y])^{2}.$$ Now take expectation.