From the error message, it specify the "token request failed", so I assume you have registered App Client Id/Secret for getting the token.
And this function is working in UAT, permission also the same.
so I think maybe the Client Secret is expired, you can check this point in your production environment.
If this is no related to the issue, please test the C# code in a local console application to see if the error can be reproduce and check the detailed code line which throw the exception.
If the response is helpful, please click "Accept Answer" and upvote it.
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.