As you described Pega Marketing has a built-in mechanism to purge tables and classes for completed Campaigns after a configurable timeframe. This is done to prevent the continual growth of the database. Also, having a large volume of these tables has been known to contribute to issues upgrading to newer releases. As such, disabling this feature isn't recommended. Is your client's environment hosted on Pega Cloud or on-premise? Retaining the tables indefinitely is not supported in Pega Cloud environments.
Could you please explain why the client wants to keep the Campaign data indefinitely?
Please be aware that changes to this area of the product in future releases may prevent such a configuration completely.