Removing Null moves from NFA
In your construction you correctly computed the closures of the original states and then made the $a$- and $b$-transitions, but you omitted step (3) of the algorithm: compute the closures of the results again. For example, from $q_0$ on input of $a$ the first step is
$$
q_0\stackrel{CL}{\longrightarrow} \{q_0, q_1, q_2\}
$$
then, on seeing an $a$ we make the transitions, as you did:
$$
\{q_0, q_1, q_2\}\stackrel{a}{\longrightarrow} \{\delta(q_0, a), \delta(q_1, a), \delta(q_2, a)\}=\{q_3, q_4\}
$$
then (here's the step you omitted), you take the closure again:
$$
\{q_3, q_4\}\stackrel{CL}{\longrightarrow} \{q_2, q_3, q_4\}
$$
and thus you'll have the new transition $\delta'(q_0, a) = \{q_2, q_3, q_4\}$.

If you do this for all the state-symbol pairs, you'll find that the transitions of your new NFA are
$$\begin{array}{c|cc}
 &amp; a &amp; b\\ \hline
q_0 &amp; \{q_2, q_3, q_4\} &amp; \{q_2, q_3\} \\
q_1 &amp; \{q_2, q_3, q_4\} &amp; \varnothing \\
q_2 &amp; \{q_4\} &amp; \varnothing \\
q_3 &amp; \{q_4\} &amp; \{q_5\} \\
q_4 &amp; \{q_5\} &amp; \{q_2, q_3\} \\
q_5 &amp; \varnothing &amp; \varnothing \\
\end{array}$$
Since $q_1$ is an unreachable state, it can be eliminated without changing the langauge of the resulting NFA.