One way of looking at it is to say that the RBF kernel dynamically scales the feature space with the number of points. As we know from geometry, for $p$ points you can always draw an at most $(p-1)$-dimensional hyperplane through them. That's the inherent dimensionality of the space implied by the RBF kernel. But, as you add more points, the dimensionality of the space rises accordingly. That makes the RBF kernel quite flexible. It gives you linear separability irrespective the number of points.
Update in response to comment:
I cannot give you a link to a formal proof, but I assume it shouldn't be too hard to construct. We know that:
- a kernel is the dot product in a feature space,
- $k(x, y) = \| \varphi(x) \| \cdot \| \varphi(y) \| \cdot \cos(\angle(\varphi(x), \varphi(y)))$, and, consequently
- $k(x, x) = \| \varphi(x) \|^2$
- RBF is a kernel,
- for the RBF kernel, $k(x, x) = e^0 = 1$, and
- $k(x, \infty) = e^{-\infty} = 0$
Geometrically, the RBF kernel projects the points onto a segment of a hypersphere with a radius of $1$ in a $p$-dimensional space. Points which are close to each other in the input space are mapped onto nearby points in the feature space. Points which are far from each other in the input space are mapped on (close to) orthogonal points on the hypersphere.
Theoretically, points in the RBF-induced feature space are always linearly separable, irrespective of $\gamma$. It's just a numerical issue that for a small $\gamma$ it could become hard to find the separating hyperplane.
On the other hand, if you choose $\gamma$ very large, you will push all the projections into corners of the hypercube enclosing the hypersphere: $(1, 0, 0, \ldots), (0, 1, 0, \ldots), (0, 0, 1, \ldots)$ etc. This will give you a trivially simple separability on the training set, but very bad generalisation.
Update (graphical example):
To get some intuition, observe this trivially simple, one-dimensional dataset. It is obvious that no linear boundary can separate the two classes, blue and red:

But, the RBF kernel transforms the data into a 3D feature space where they become linearly separable. If we denote $k_{ij} = k(x_i, x_j)$, it is easy to see that the transformation
$$
\begin{array}{rrrrrrr}
\textbf{z}_1 = \varphi(x_1) & = & [ & 1, & 0, & 0 & ]^T \\
\textbf{z}_2 = \varphi(x_2) & = & [ & k_{12}, & z_{22}, & 0 & ]^T \\
\textbf{z}_3 = \varphi(x_3) & = & [ & k_{13}, & (k_{23} - k_{12}k_{13}) / z_{22}, & z_{33} & ]^T \\
\end{array}
$$
reproduces the RBF kernel, $k(x_i, x_j) = \varphi(x_i) \cdot \varphi(x_j)$, where $z_{22} = \sqrt{1 - k_{12}^2}$ and $z_{33} = \sqrt{1 - z_{31}^2 - z_{32}^2}$. The kernel parameter $\gamma$ controls how far the points get in the feature space:

As you can see, as $\gamma \rightarrow 0$, the points get very close to each other. But this is only a part of the problem. If we zoom in for a small $\gamma$, we see that the points still lie on an almost straigt line:

True, the line is not exactly straight, but slightly bent, so there exists a plane to separate the two classes, but the margin is very thin and numerically hard to satisfy. You may say that $\gamma $ controls the non-linearity of the transformation: The smaller the $\gamma$, the closer the transformation to the linear one.