Had the same issue my solution was to go back and regenerate a new Auth Code and subsequent new Refresh Token.
I remember a logfile stating this has expired.
My take is:
Client ID is permanent
Client Secret is permanent
Auth Code expires
Refresh token will not work if the included Auth Code has expired