I've talked to t-mobile about this.
They've said that they are aware of this, and also have said that they are looking into it. They have told me that they never give customer info to anyone like that.
They have suggested that the shop whom you buy your phone/contract from could be doint it - For example, in my case, I bought my phone and signed the contract at one of the carphone warehouse branches in London, so it might be one of their employees who might be giving the info to other companies...
I might try to talk to carphone warehouse too. But meanwhile it is better if more people make a complaint about it, don't just keep quiet and tolerate the abuse! The more complaint they receive, the more they are going to deal with it.
Talk to t-mobile, or whatever the company who has your detail.
And don't answer the number anyway. They just want your money.