So as I love these kind of puzzles I spoke to a die hard BMW lover and he quickly said its probably
- Failed MAF
- Faulty wheel Speed Sensor
- your cat box - its breaks up into pieces and blocks the exhaust
To test the Cat, just remove it temporarily start the engine (noisy) but if it clears after revving it for a moment you have found your fault.
Good luck!