This is a very simple definition that subdivides a surface, then subdivides some of the resulting subsurfaces again, based on whether they're larger than a given size, than does it again.
Though there's (alas) no real recursion in GH yet, at least not without scripting, it's not that hard to set up a group in such a way that it's easy to copy/paste/reconnect and do a sort of manual recursion for a few cycles, which is sometimes enough.
This was done as part of a class I'm teaching using GH, at Universidad Católica de Chile. Link
2nd version that takes into account curvature as well as area: iterator2.zip