Often on modern motors the best way to determine what is going on is to get the motor onto a good computer which looks at live data and determines what each sensor,egr valve etc is doing,what fault codes are stored,but if you keep guessing it is quite probable you will end up with a very large repair bill.
cdc, July 2015