I have the T-mobile $30 unlimited prepaid plan and I ran into the tethering block after getting my Nexus 5.
I was able to work around the issue by modifying the following sqlite database (you'll need root):
You need to add a new entry to the global table called "tether_dun_required" with a value of 0.
It looks like you need to do this because some configuration data was added to Android for T-mobile that forwards tethered data to this APN: pcweb.tmobile.com
T-mobile is probably checking to see if your account has tethering enabled when you go through this APN.
After I made this change I also needed to change my APN settings so that it uses ipv4 instead of ipv6. It seems like tethering with ipv6 does not work 100% yet.
I hope this helps.
edit: Never mind, I figured it out. I used SQlite Editor from the Play Store.
It worked! I love you for this! I was so bummed out when I first got my N5 and couldn't tether. Thank you so much!