We can avoid creating reference cycles relatively easily
which will make the GC have to do less to garbage collect these
objects so let's just give it a break to start.
This is *safe* to do since the runtime components have the
same lifetime as the runtime itself and they will never outlive
the runtime objects existence (a runtime objects lifetime is
directly the same as the engine objects lifetime).
Change-Id: I7f1ee91e04f29dd27da1e57a462573e068aee45c