You are probably fishing someone else's fish :]
As you may know every item that ends up thrown in a river by a player can be fished by another...
Well you got it, some people actually throw (or it drop it while afk fishing when the inventory is full) fishes back in the water. And then when you don't catch a fish yourself, it checks if you get another item that was thrown before. If yes, it's random and can be a fish someone else fished

Check for the QL that's recurring, it should be the one of the spot you're currently on.
Edit : For the forageable, it just depends on tiles I think.