The set of $3$-core partitions can be described explicitly. 

__Theorem__ The partition $\lambda=\{\lambda_1,\lambda_2,\dots\}$ is a $3$ core if and only if the sequence of differences $\{\lambda_1-\lambda_2,\lambda_2-\lambda_3,\dots\}$ is of the form $\{2,2,\dots,2,1,0,1,0,\dots 1\}$ or $\{2,2,\dots,2,0,1,0,1,\dots 1\}$.

__Proof:__ It is easy to check by hand that a $3$-hook appears in the situations where a) some member of the sequence is $\geq 3$ b) three members of the sequence in a row are $0$'s c) there is a $1$ in the sequence that is not followed by $0$ d) there is a $0$ in the sequence that is not followed by a $1$. These correspond to the four possible shapes of a $3$ hook-strip in the boundary. If all of these patterns are avoided, then the partition has no hooks of length $3$.

Therefore the partitions with distinct parts that are $3$ cores have a difference sequence $\{2,2,\dots,2\}$ or $\{2,2,\dots,2,1\}$. The size of the partitions in the first case are given by $2\binom{k+1}{2}$ and the sizes in the second case are given by $k^2$, where $k\geq 1$, and this implies your generating function.