I have 2000 c240. I've been struggling with starting problem for the last 5 days. The story began when I couldn't start the car after driving for 5 minutes. I turned on and off 4-5 times after which the car started. Then one day, when I was at lights, suddenly the engine died. Didn't start unless I pushed the gas pedal. A mechanic told me that your throttle body needs to be cleaned. So I got it cleaned and thought it was done. Then yesterday, while parking, the car stopped and I couldn't start it any how. Then a nearby mechanic tried adding just 100ml of gasoline and car started immediately. The tank was nearly full. He said it might be the fuel pump or your tank is so dirty that doesn't let fuel out. This morning, I started the car normally, headed to the gas station, filled up the tank and guess what, car didn't start. I got stuck right in the station. So adding more gas didn't help this time. Then a guy offered to shake the car on the rear about 10 times. We did it and the car started. I left it idle for 5 minutes and again it died. Then we shook again and the car started again. I took it to diagnostics. The crankshaft position sensor along with other engine related stuff was all right. But the computer showed some trouble with fuel pressure. The guy told me that it's something with your tank or the fuel pump.

Now, how do I know whether it's the tank which is dirty, clogged filter or it's the fuel pump fault? I replaced the pump(Bosch) and filter(Hengst) 7000 km earlier. Do you think I have to get the tank removed? Besides this, if it's the fuel pump, how do I know if it's the pump itself or the relay?

Note: Engine never dies at high revs or high speeds. It feels like the reverse is the case.