This is by design behavior. SQL Server keeps the database size optimal for the best performance. SQL may increase the database size based on the need, i.e. mostly when the fresh data writes are more then deletions. The database growth rate is determined by the 'Auto-Growth' value, set on the database. If the database size increases between the backups, Backup Exec promotes the incremental\differential backups to Full for better consistency and recovery.
As data is added to the database and the pages start filling up, the SQL server can automatically increase the size of the database. This is determined by the 'Auto-growth' setting on the database. If the database size increases too frequently, the incremental backups get promoted to full.
For more details, refer to the document below.
SQL restore from incremental backup sets fails with error 0xe000fe2d or 0xe0008443
Recommendations:
If this behavior is observed frequently for a particular database, then pre-allocate the database to the maximum possible size. Auto-Growth is a costly operation, so it is recommended to minimize this operation as much as possible. The frequency of Auto-growth call can be reduced by keeping auto-growth settings with the optimal percentage value instead of a fixed size. E.g. DB Size of 10GB with Auto-Growth value of 10% would increase the database size by 1.0 GB. The precise Auto-growth setting value can be calculated based on the analysis of historical database sizes. The query below can be run periodically to find the database size change rate.
Use [dbname];
Go
EXEC sp_spaceused;