This is a naive question, but in the tutorials I have seen so far is not spelled clearly.

If I build a interpreter on top a high-level language (not C, C++, etc) and this have a garbage collector... is necessary to also make one for the interpreter itself?

And if the answers is yes... it must be the same kind of the host? (ie: If the host is mark-sweep, the interpreter too?), or is possible to leverage the host and let it manage all of this?

The selection of host make a difference? I plan to use F#/.NET, but is the same for Java and others?