Hello Sharky,
This is my opinion regarding the hand.
If it was me I would call that river shove with top set on the river.
I have a spade on my hand so he will unlikely have a flush since I hold one spade and the nut spade too.
If I do not have a spade on my hand I will fold my top set here. This is just to protect all my value hands, for me, you played the hand perfectly from the start .
My reasoning is if I will always fold my value hands on this turn card, then there is no sense value betting it in the first place and my opponents can just exploit me and bluff me by constantly check raising me on turn cards that completes a draw on the board.
But it is also important to find a fold here so that again the villain cannot exploit me by just check raising all his made draws on this turn.
So in my opinion I will always call my value hands especially Top Set with a spade and fold my value hands with out a spade.
Also, the board texture hit our raising range compared to his calling range since there are two high cards on the flop, check raising the turn he may have a set, two pair or a pair with a spade and tried to turn it into a bluff to put you off a hand like top pair, which you beat. Your range is so much ahead compared to his range aside from the flush draw which is unlikely.
If he has a flush in this instance then I will just put it as a cooler situation.
But that is just me, I would gladly love to hear anyone who can explain the fold in this situation and other consideration and factors that justify for folds.
Hope this helps,