The searchListener still holds a reference to SearchFragment and keeps it in memory. Possible fixes: * Using a shared ViewModel to pass the listener