A few of my customer cars have had this problem (not just BMW).
get a diluted bucket of soapy warm water (few drops of dish soap in a bucket will do) and a clean towel/old tshirt
slowly and gently pull the seat belt all the way out until there's no more left to pull. Get the towel damp, and slowly wipe the seatbelt as you let it retract. Dunk the towel a few times in between and ring it out and continue to wipe the belt as it is retracting (so you don't spread the dirt around).
If the belt still getting stuck, repeat, except this time, get some clear silicon lube and give the slot where the belt comes out a few shots while the belt is fully out (don't soak it), you're trying to hit the retractor wheel in the pillar.