solve memory leak via gc