While that technically is because of "User is not authorized to perform the requested operation either due to access restrictions", it's not intuitive for a customer to check for the correct BU ID, if for example you may be using Pardot API across multiple Business Units or somehow the Business Unit ID gets updated, it can be confusing for end users.
It appears that using the incorrect Business Unit ID when using Salesforce OAuth will also cause this message to appear: https://developer.pardot.com/kb/error-codes-messages/#error-code-49
While that technically is because of "User is not authorized to perform the requested operation either due to access restrictions", it's not intuitive for a customer to check for the correct BU ID, if for example you may be using Pardot API across multiple Business Units or somehow the Business Unit ID gets updated, it can be confusing for end users.