This should be put into the manual somewhere!
As for the closure thing they get turned into a pointer to a normal procedure and a pointer to an environment. This environment contains all the state captured by the closure. When the closure is called it's actually a static procedure which is called, but it is given the environment pointer to work as a closure. Because of this environment they are GC'ed as the environment must be freed at some point.