Disclaimer: I have no experience using CommVault, and the following is only based on my experience working on SQL Backup for the last 7 years.
Is it possible that CommVault is querying the backup history tables to determine if a full backup is required, and the query is timing out due to the busy nature of the servers, and hence decides to run the full backup? The backup history tables can get very large if they are not regularly purged (e.g. using sp_delete_backuphistory), and depending on the query used by CommVault, may be slow because there aren't that many indexes created by default on those tables.
If the above is true, perhaps there is a setting within CommVault to increase the query timeout value? Otherwise, I would suggest purging old data from the backup history tables if possible, and/or create additional index(es) on the table(s) to help speed up the queries used by CommVault. It isn't good practice to create indexes on system tables, but you don't have much of a choice here.
Hope this helps.
SQL BAK Explorer - read SQL Server backup file details without SQL Server.
Supports backup files created with SQL Server 2005 up to SQL Server 2017.