Если интересно.
Кажется, я понял. Концептуально проблема в следующем:
1) Флоу может быть холодным. По идее, он должен перестать производить значения, когда нет потребителей.
2) Мы создаем потребителя в lifecycleScope.launchWhenStarted с обработчиком.
3) On stop lifecycleScope приостанавливает обработчик, значения не потребляются.
НО!
Он стоп мы отключаем обработчик потребителя, но сам потребитель остается и Flow продолжает производить значения. Получается утечка.