fix: dispose infinite callback bug