Several things are at work here. First, Caller ID is a carrier service, and ultimately the carrier determines whether your carrier ID is sent, and also whether it is just your number or your number and your name.
Next, even if it is just your number, businesses that you call have databases of their customers that include your phone number, so even if your name isn’t sent they can identify you. And most businesses use the name in their database rather than the name transmitted as part of the CLID string.
Yet another thing, when you call a toll-free number it is not possible to block your caller ID; the logic here is the number you are calling “pays” for the call (it’s toll free to you, but not to the number you call), so they have the right to know who the call is from.
Finally, if you have a business email or phone number on your phone your employer can set certain security features, and one of them is to force caller ID to be on.