Instead of retaining cycles which the GC will have
a harder time breaking, give it a break and use the
knowledge that the associated objects will always exist
while the runtime object does to just use a weakref
proxy so that the GC will have a easier time breaking
this cycle.
Change-Id: I6241b2f33354fa58565835a5f08e5766aa601704