The answer you seek was given on the question you linked.
To summarize, the IL-to-native translation process is done ahead of time, but other pieces of the Mono runtime are still required. JIT compilation is only one of the tasks performed by the runtime, and this particular piece is incompatible with iOS' memory restrictions (writable memory pages cannot also be executable, and this is required for a JIT to function). This is, AFAIK, the only reason why ahead-of-time (AOT) compilation is required at all.
The Mono garbage collector does indeed run on iOS, it's just embedded into the binary produced by the Monotouch compiler. The produced binary contains your AOT-compiled application code as well as AOT-compiled versions of the libraries you use, and a slimmed-down version of the Mono runtime.