You need to teach a strong leave it.
Put a treat he wants in your hand and an even tastier treat in the opposite hand. I would probably go for something like a biscuit and chicken or hotdog.
Show him the boring treat, he will probably be interested and try and paw it or chew your hand but he can’t have it. Once he looks at you for a signal what to do next and stops trying to get it then release the more exciting treat from the opposite hand. Make a huge fuss and give loads of praise.
You can progress to doing this with the boring treat on the floor or in various places but the key being that when he ignores the less exciting treat he gets something even better than the thing he wanted in the first place.
You can then do the same with a toy swap etc, always swapping for something he really really wants.
Once he realises that the word drop it or leave it means he’s going to get something amazing he will probably spit the stone out to get to you. Mine will drop almost anything instantly now. I would be careful not to make it a game or a swap as that’s not what it’s meant to be, it’s meant to be more when you hear leave it return to mum because you’ll get something much better.
Has he enough toys and things in the garden too? I would play with him in the garden using toys you want him to use and try not to let him sniff around picking stuff up until he breaks the habit.
Hopefully won’t be too long!