@pan-orko I haven't checked if Smartthings has changed anything, but when we implemented it Smartthings made the mistake to only distribute one set (the same set) of oauth2 credentials every time you log in. That way, when the auth token expires and the refresh token must be used to get new credentials, only that hub learns the new credentials. The other hubs that had the same original credentials now have old invalid credentials.
Other oauth2 providers give you new unique credentials every time you log in so they don't have this problem.