Here is what I said in the Crawford buyout thread - the $3m you are referencing is only for the 2018-2019 season.
Hawks and Crawford agreed to a "buyout" of his contract to allow him to become a free agent. In the buyout arrangement, we agree to pay him only $13.2m of his $17.2m guaranteed contract over 2-years. This is ~76% of his guaranteed contract, so his cap hit this year will only be ~76% of what his 2017-2018 salary was supposed to be, which is where the $10,942,762 cap hit in 2017-2018 comes from. Next year, it will only be $2,304,2226 as a cap hit since he only had $3,000,000 guaranteed for the 2018-2019 season.