My boat has a Volvo Penta MD2040 engine. Starts Ok but after running about 30 minutes revs start to fluctuate a couple thousand revs (1800-1600 rpm). After about an hour it can't run at low revs and stalls at idle (sometimes the warning alarm goes off when that happens). Engine heat normal, not overheating. If engine cools down for about an hour runs OK, but after a while problem starts again. A mechanic has changed the fuel filter and tested that enough fuel is getting to the engine. Says that the fuel tank needs cleaning. I'm reluctant to go through that if something simpler can be done. Wouldn't a dirty fuel tank make the motor sputter? I don't understand the logic of how the problem occurs after the engine has been running OK for a while. Any advice?