Are you using RunLoop.main instead of DispatchQueue.main as your scheduler in Combine? They are the same, but different. Don't be like me; learn the difference: https://www.avanderlee.com/combine/runloop-main-vs-dispatchqueue-main/
RunLoop.main vs DispatchQueue.main: The differences explained

RunLoop.main and DispatchQueue.main are often used as Combine schedulers to update the user interface. Though, both behave very differently.

SwiftLee