GUNNM (./7) :
CustomVertex.PositionNormalTextured vertex = new CustomVertex.PositionNormalTextured();
Tu ne peux pas virer l'allocation de la boucle ? Genre, tu alloues une seule fois tous tes "CustomVertex.PositionNormalTextured" et tu mets chacun à jour à chaque appel de CreateHeightfieldMesh, sans en allouer de nouveaux à chaque fois. Une allocation, c'est pas forcément rapide, et là, ça doit garbage-collecter comme une vache.