Разобрался с проблемой. В общем, у меня в сеттингсах сохраняется массив со временем последней синхронизации разных элементов по классам. В методе чтения данных из репозитория сначала из сеттингсов проверяется время синхронизации нужного типа элементов, и, если время протухло, данные качаются из сети, обновляются в локальной базе и ...в сеттингсах обновляется дата синхронизации. А из-за того, что там кругом флоу, обновление даты эмитит новое значение для метода проверки устаревания данных, который в свою очередь эмитит новое значение для метода чтения из репозитория. Решил использованием функции take(1) при вызове.