The BMW mechanic is right about the replacement of the driveshaft, but wrong in the method of mechanical troubleshooting.
Start with the simple inexpensive items first such as tire balance with a road force type balance to rule out a bad tire or seperated belt. Then check the brake calipers for binding issues. Then on to the control arms, uppers and lowers and condition of the ball joints. The driveshaft center bearing, binding u-joints or a worn pilot bearing will all give a different type of shimmy and you would feel it through the seat of your pants. The brake calipers and thrust arms would be felt through the steering wheel and brake pedal.
In order to diagnose a problem with the car, it is important to give as much information as possible to determine the culprit. The wise mechanic will ask many questions and even test drive the vehicle so that he is certain about the repair.
Find a GOOD independent mechanic in your area that specializes in European vehicles unless you want to spend some extra money for a BMW mechanic.