If $G \subset GL_n(\mathbb{C})$ has finitely many conjugacy classes for all element, is it finite?
Yes, $G$ must be finite.
There are only finitely many finite groups (up to isomorphism of course) with a bounded number of conjugacy classes (see here for a proof).
But it is well known that linear groups are residually finite, and so if there were an infinite example, then it would have arbitrarily large finite quotients, each with only $r$ conjugacy classes.
$G$ must be finite. Here's a proof working for $G$ arbitrary (Derek's proof works only when $G$ is finitely generated).
Passing to a finite index subgroup, we can suppose that $G$ has connected Zariski closure.
The assumption implies that $G$ has finitely many traces, and using connectedness of the Zariski closure, it has a single trace. So $\mathrm{Tr}(g(g'-g''))=0$ for all $g,g',g''\in G$.
If we assume in addition that $G$ is irreducible and hence linearly generates the space of matrices, since the Trace yields a nondegenerate bilinear form, we deduce that $g'-g''=0$ for all $g',g''\in G$, i.e., $G=\{1\}$.
In general, this applies to the projection on all irreducible diagonal blocks, which are thus one-dimensional.
In other words, this proves that if $G$ is a subgroup of $\mathrm{GL}(n,\mathbf{C})$ with finitely many traces, then $G$ has a finite index subgroup $H$ (namely, the intersection with the identity component of its Zariski closure) that is conjugated to a group of upper triangular unipotent matrices.
If $G$ has finitely many conjugacy classes, so does $H$. Then $H$ has a normal series in which all subquotients are torsion-free abelian groups (it inherits this from the group of unipotent upper triangular matrices). This implies that if $H\neq\{1\}$ then it has an infinite abelian quotient (namely a nontrivial torsion-free abelian quotient). This implies that $H$ has an infinite number of conjugacy classes.