That sounds like either a blocked fuel filter or a knackered pump, mine was exactly the same would rev to 4000rpm then stop but back off and roll on the throttle very lightly and it'll got to 5kish. With a blocked cat it wont do that it'll just stop at 4k and not rev anymore no matter what you do.
Quick thing to check is rev it up at idle, mine would rev right through to 6k with no load but my cousins with a blocked cat was still strangled at 4k even with no load.