When does the Refresh Token expire?

The Refresh Token will never expires unless exchanged for a new Access Token (since you will get new refresh token with it) .

The Refresh Token will be invalidated if the registered application's client id or client secret is reset.

As long as the client id and client secret has not been reset, and you have the most recent Refresh Token, it can be exchanged for a new Access Token.