and that can be called the problem
[but I could just as easily blame your mesh… here I go]
okay, so blender essentially does a simple subdivide of the uv coordinates, not anything subsurf like
[try converting a subsurf to real, then look at the uv coords]
so if your mesh has verts where the edges come out at much different angles after being subsurfed then you will notice defects there… One easy example to cause this is to make a triangle or flattened diamond out of a quad, the stretching is particularly bad…
this is why people suggest you use edge loops and quads in a grid pattern…