First: Thank you for your service.
How many miles are on the car? I'm leaning towards the Vanos solenoids/filters as well, since that is a great place to start and seems odd that the problem would go away with an oil change.
Although your car is right on the borderline for the updated cylinder head which takes care of the camshaft ledge issue, I'm thinking that if the problem was there it would continue regardless of the oil being changed or not.
It's very possible the mechanic only cleaned these solenoids, which is a temporary fix. They need to be replaced with OEM sensors. Do you have any tools or access to them? The OEM BMW solenoids aren't the cheapest part in the world, but they are right on the front of the engine and each one is held in with one 10mm bolt.
See the below video as a reference: