Makes sense ..... did/do you vary the contract term or are they all a fixed term?
Any player you get in the draft or auction is eligible for up to a 3 yr contract. That fixes the salary at that price for those years so they aren't eligible for escalation if the player finishes in the top 15 of their position in a given year. Once the contract ends you can give a 1 yr contract (basically keep them one more year) at their escalated price. You can do that forever although the salary has a chance to keep escalating every year if the player performs well enough to be a top 15 scorer at their position.
If you decide not to keep a player under contract you get hit with their remaining contract salary against the current year's cap. So if a player had 2 yrs left at $10 per year you take a $20 cap hit to cut the player. Also, the salary cap is only for freezes/auction at the beginning of each year. In season there is no salary cap to allow for easier trading. I would highly recommend that to make trading easier. It's hard enough without restrictions so making it as easy as possible is always a good idea.
The theory of allowing a multi year contract to drafted and auction acquired players is that all teams have the opportunity to get that player so if you get them you can give them a contract. Players you have the rights to and never let them available to the public has to be subject for escalation so you have to pay to keep a good player for longer than 3 years.
The system works really well.