"as per what I have been able to accomplish in training" makes it sound to me like he thinks he's there today and he just keeps getting robbed on race day. He 'should be' a 2:50 marathoner based on what he has already done in training is false.
He has consistently spent the past 3 weeks dismissing training advice and suggestions. If he has truly embraced the fact that he's doing some things wrong, maybe some day he "can be" a 2:50 marathoner. But he "should be" what he is, and will continue to be a 3:0x runner until he realizes that.
And that's the trap that's so easy to fall in - one hits certain times in training, and decides based on those training runs that one's a "x:xx" runner. And then when one repeatedly fails to come close to that x:xx time, one blames the race result or bad luck, not the training. When it's the training that's to blame. And the runner is not actually an x:xx runner because of that faulty training.