Make use of WeakReference for upstream references (#726)When a referent is no longer reachable we will throw an exceptiontelling (commit: 466423b)