Non-abelian group with infinitely many abelian subgroups
Solution 1:
Any infinite group $G$ must have infinitely many abelian subgroups. Note that for each $x \in G$, there is a cyclic subgroup $\langle x \rangle$, which is abelian. If there is an $x$ such that $\langle x \rangle$ is infinite, then $\langle x \rangle$ has infinitely many abelian subgroups. If no such $x$ exists, there must be infinitely many distinct finite cyclic subgroups $\langle x \rangle$, since otherwise $G$ would be the finite union of finite sets.
Solution 2:
Take the product $G = S_3 \times \Bbb Z$, which is non abelian since it has a non-abelian subgroup, namely $S_3$.
However, $\{1\} \times n\Bbb Z$ are abelian subgroups of $G$ for every $n \geq 0$.