Насколько я понимаю неправильно брать LiveData из репозитория во вью модель, потому что LiveData всегда обсервится в главном потоке, то есть все
transformation.map / switchmap будут происходить в главном потоке . Утечки памяти там происходят в других случаях...
Попробуй доставать из репозитория данные с помощью каких-нибудь механизмов для асинхронной работы. И во вью модели класть данные в ливдату.