fixed memory leak issue due to bad listeners disposal