A (too?) simple argument for the undefinability of definable sets Preliminaries (see e.g. Jech, Set Theory, p. 5): To every formula $\varphi(x)$ of ZF set theory corresponds a class $C = \lbrace x : \varphi(x)\rbrace$, but only to some formulas corresponds a set. Every class is - by definition - definable, but not so every set. 
Consider the following handwaving argument:

If the collection of definable sets (which is well-defined but not in first-order language) were a class $\Delta$, there would be a first-order formula
  $\delta(x)$ such that $\Delta = \lbrace x : \delta(x)\rbrace$.
If the collection of definable sets were a class, it would be a set. 
So if it were a class, it would be a set that contains itself (because it is definable). But
  since there is no set that contains itself (by the axiom of
  regularity) the collection of definable sets cannot be a class, ergo:
  there is no formula expressing first-order definability.

Question: Can the emphasized claim - if the collection of definable sets were a class, it would be a set - be proved?  E.g. in the line of "it is not too big to be a set (because there are only countably many formulas), so it is a set".
 A: No, the claim

if the collection of definable sets were a class, then it would be a set

is not necessarily true.
This answer assumes that we formalize the claim as applying to a set-sized model of $\mathsf{ZFC}$, so that the notion of "definable" is definable externally to the model.
As bof points out in the comments, there are models of $\mathsf{ZFC}$ in which every set is definable.  In this case the collection of definable sets of the model is equal to the universal class of the model, which of course is not a set of the model.
For more information, see this answer of Joel Hamkins to a related question on MathOverflow.
A: If we're allowed to expand the language with a satisfaction predicate $Sat(x, y)$ and suitable axioms, then something like the argument you give is easily made. For instance, we can say:
$x$ is ${\it definable}$ just in case there is a formula (in the language without $Sat(x, y)$) $\ulcorner\phi(y)\urcorner$ whose only free variable is $y$ and $x = \{y: Sat(\ulcorner\phi(y)\urcorner, y)\}$
Using replacement in the extended language, we can prove that $\{x: x \mbox{ is definable}\}$ is a (countable) set, since there are countably many formulas. Clearly, $\{x: x \mbox{ is definable}\}$ isn't itself definable, for the reason you point out. 
We can run a similar argument in higher-order set theory, say NBG with replacement expanded to whole language, defining satisfaction in the usual way.
