Consider $u''+u=0$ with the boundary conditions $u(0)=1$ and $u(\frac{3\pi}{2})=-1$. One possible finite difference formula is $u(x)+\frac{u(x-h)-2u(x)+u(x+h)}{h^2}$, which gives the matrix
$\begin{pmatrix}h^2-2&1&0&\cdots&0\\1&h^2-2&1&\cdots&0\\0&1&h^2-2&\cdots&0\\\vdots&\vdots&\vdots&\ddots&\vdots\\0&0&0&\cdots&h^2-2\end{pmatrix}$
(The $\frac{1}{h^2}$ term can be ignored because of 0 on the right hand side of the equation)
Since the eigenvalues of a tridiagonal Toeplitz matrix are given by $\lambda_k=a+2\sqrt{bc}\cos(\frac{k\pi}{n+1})$, the eigenvalues of this matrix are bounded above by $h^2$and the eigenvalues of its inverse are bounded below by $\frac{1}{h^2}$. Therefore this schema is not $L^2$-stable since its spectral radius diverges as $h$ goes to 0.
However, if I write a program to compute the schema and calculate the $L^2$ error, it converges with an order of convergence of 2 (at least up to ~12000 steps, which is the most my computer can do without freezing), which is what I'd expect if the schema was stable.
What is happening here? Why is this schema that should be unstable converging to the correct solution with the expected rate of convergence?