Это похоже на ошибку в библиотеке привязки данных, основанную на чтении информации об утечке и источниках. Я не уверен, что это вызвало.
Существует справочная очередь, экземпляры WeakListener добавляются в нее, когда экземпляр их слабого ref слабо доступен. Итак, мы знаем, что это состояние слушателя в этом случае. Слабые очереди WeakRefs будут оставаться там до тех пор, пока очередь не будет обработана путем использования кода (здесь это библиотека привязки данных), что обычно не является проблемой, поскольку ref имеет значение null. Однако здесь у слабой ссылки есть mObservable поля, которые заканчиваются утечкой владельца жизненного цикла, который является разрушенным фрагментом. Это прекратит утечку, когда следующая очередь ссылок будет обработана, хотя пока неясно, когда это произойдет.
Так что это похоже на недостаток дизайна / ошибку в том, как библиотека привязки данных обрабатывает слабые ссылки.
Вам, вероятно, следует сообщить об ошибке в этот проект с дополнительными подробностями, такими как номер версии lib. Также может помочь предоставление дампа кучи (легко распространяемого из утечки в канале).