I think the clue was in his turn bid - $0.90 - he had matched your flop raise (a questionable raise as you are losing to any pair), then bet at the turn - you're lucky he didn't check raise you for more.
A larger pre-flop raise might have worked, but I can see why you wanted to keep him in as everyone else was out. However, once the river card came and he was still betting, I would have folded - you have to think he has two pair at least after that turn bet.