Cannot use refresh token to generate access token in Github after access token expires

While using Github apps authorization to generate user-to-server tokens, both access_token and refresh_token are generated. Access tokens have a life of 8 hours and refresh token have 6 months before they expire.

I am able to generate new access tokens using the refresh token till the point old access tokens are valid and alive. But once the access tokens expire, I am not able to use the refresh token to generate new access token. Why is this happening?

Also, when I looked into my Github settings > Applications > Authorized Github Apps, the previously authorized app which was listed up until that point is automatically revoked.

First I doubted that I might have manually revoked the authorization on Github settings. I reauthorized the app again which listed my app on the github settings and everything was working fine (this I did yesterday). But today the app is again revoked.

What is causing my app to be auto-revoked from the github settings? Why can’t I retain the validity of the refresh_token after 8 hours?