Basically we can't guarantee whether a GC has happened or not which means that the following test won't fail consistently if there is a problem with removing the registrations. We already have verification that GC correctly stops events being emitted elsewhere in the test. I think this test should just keep references to both the strong and weak handlers until after it has fired the event to make sure neither still gets called.