I had the same problem with my M3W. Couldnt figure it out. if I was gentile with the throtle input around that RPM it wasnt too bad. Seemed worse sometimes, not as bad others. I used Protune to look at the Lamda senors, O2 sensor if your North American like myself. I Found that one of the sensors was not producing a stable reading. It was then telling to sofware to add fuel and had a mountain in the middle of the fuel map. New O2 Lamda sensor fixed the problem 3000 miles later, not a single issue. You will not find the same sensor no matter how hard you look if your in North america. Just go to you local auto parts store and get one that matches the screw in part exactly and the plug end is universal. 5 minutes with simple tools you will have your old plug cut off and installed on the univeral. I changed the other sensor after discovering that the problem was fixed. New sensor also had very stable readings on protune. The none problem sensor wasnt as stable and jumped around more then the new one. So I changed it. You will need to completely disonnect both battery terminals after you install the new sensors to clear the memory the computer was getting from the bad sensor. Not sure if you can clear fuel logs in Portune on an locked ECU. I am lucky and got an UNLOCKED ecu that the PO installed.
Good luck.