Dimension of the Prolongation Operator

I’m getting some wired dimensions for the prolongation operator.
In particular, my prolongation operator is smaller than what it should be.
Here is a minimal working example:

from ngsolve import *
from ngsolve import BilinearForm as BF
from netgen.occ import *
import netgen.gui
import netgen.meshing as ngm
ngmesh = unit_square.GenerateMesh(maxh=0.1)
mesh = Mesh(ngmesh)
V = H1(mesh, order=2)
u,v = V.TnT()
aG = BilinearForm(InnerProduct(grad(u),grad(v))*dx)
aG.Assemble()
print(aG.mat.shape)
for l in range(3):
   mesh.ngmesh.Refine(adaptive=True)
   V.Update()
   aG.Assemble()
   prol = V.Prolongation().Operator(l+1)
   print(prol.shape, aG.mat.shape)

Which is outputting:

(493, 493)
 Mesh bisection
 Bisection done
(493, 134) (1889, 1889)
 Mesh bisection
 Bisection done
(1889, 493) (7393, 7393)
 Mesh bisection
 Bisection done
(7393, 1889) (29249, 29249)

Best,
Umberto