This only works if ``diposes`` is called within the UI thread (which I think is the case, but you may want to double-check)