Capital One and other creditors buy their lists from Equifax and TransUnion.
Depending on which cards they're promoting they'll pick lists that are within a certain range credit score wise...
IE... they'll pick people with credit scores between 500-600 to promote their secured credit cards. They'll buy lists of creditors with scores of 750+ to promote their premium cards. These are just examples.. I don't actually know the ranges of credit scores that they buy.
I know in the past when my credit score would go above a certain point, or below a certain point, I would get different types of offers from the credit card companies.
All the credit card companies do this. This is another revenue source of Equifax and TransUnion. It's part of the "you giving permission to the credit bureau to disclose your information".
You CAN refuse Equifax and TransUnion selling your information. The cost however would be that they close your account and don't report your credit.
With regards to telling Capital One to take you off their call list is like asking THEM to remove your phone number from 411.
If you have an active agreement with Capital One, then you're giving them permission to collect and disclose your credit information. Again, you can have them stop collecting and disclosing your information, and this would mean closing your account with them.
If you have a balance outstanding, then Capital One still considers the contract open and valid.