It happens. Mobs can faneggle themselves into a lot of different places, but if they spawned on other things tan just grass, I'd still have them spawning in my base, which stopped after the update that forced non-hostile mobs to spawn on grass.
As far as trees, I did a 30 minute science to try to prove my case. I have a big tree farm, and all the little plots have grass on them. I placed dirt in two of the plots, one in the middle of the farm, and one on the outer edge. After I got tired of waiting, I took screenshots for proof. This is about 30 minutes after planting:
As you can see, all the trees have already grown, except the two that were planted on dirt. You can't argue that they don't have enough space or light, because all the plots have torches along side them, and after the other trees grew, I chopped off the leaves above the saplings.
I don't know if anybody noticed this... but this set of pictures are not proof, this is the same picture posted twice!! Check the cloud in the background above the tree on the right. Its in the exact same place.