Hey Peter,
I've been heads-down this week working on a few things, so I didn't have time to look into this, but there were some changes to plugin architecture in 0.10 around context listeners.
Quick question: context.destroy() returns a promise, and so you need to wait for that promise to really make any assertions about the state of the context during or after the destroy process. For example:
var destroyPromise = ctx.destroy();
// The context has not been destroyed here
destroyPromise.then(function() {
// Now it has been destroyed
});
I should have time to look into this on Monday. In the meantime, could you please open a github issue for this and if you have any more info, add it there. Thanks!