It looks like PyQt5 may be more finicky than other backends on the Mac OS platform. It seems that we can sometimes get late and/or spurious events firing after editors have been disposed of (so all Python references should have been dropped, but objects may still be live in memory).
Care should be taken to disconnect signals during dispose methods, and additionally it may make sense to guard against self.control being None in the signal handlers.