LeBFG that sounds really difficult to deal with and you must be quite shocked by it. I hope your DP is okay.
Grabbing a dog by the scruff of its neck or its collar is a real no-no and many dogs will bite in those circumstances.
If you think about it, the neck is quite a vulnerable area and you wouldn't like it if someone came up and grabbed you by the neck. Next time try some more gentle persuasion such as luring him with a treat. Also taking bones away from him is teaching him to be defensive about them because in future he will know that you might be going to take them away. It sounds like you need to teach a drop it and a leave it command. Leave it is for when the thing is still on the ground, and drop it is for when he has already got it in his mouth.
Leave it is a fun one to teach because there comes a point when the dog realizes that so long as it keeps leaving it, it will get an endless supply of treats! Have one treat that you are not going to give to the dog (the one it has to leave), and a supply of a different kind of treat to use as a reward. Show the dog the first treat, say leave it and take it away before he has chance to get it, then immediately say 'good boy' and give one of the other treats. Gradually build up so that it is harder for him - e.g. put the treat on the floor but still near you, then put it on the floor but near him, and so on. Over time you'll be able to put very tempting treats down and say leave it, and he will.
There are different ways to teach drop it. One starts with nothing in the dogs mouth at all, but when you say 'drop it' you drop treats on the floor. Point the treats out to him with your finger (so that he is used to your hand being nearby). Drop several treats at a time so that he has to hunt for them and you can show him where they are. Once he starts looking to the floor when you say drop it, start practising when he has something in his mouth, like a toy. (something not too valuable to him to begin with - don't start with a bone!). He will automatically drop the toy to pick up the treats. To begin with, don't pick up the toy, just ignore it. Then over time you can begin to pick the toy up, and also build up to harder things for him to drop. I think it's actually quite hard for a dog to drop something that it has in its mouth.
Another way to teach drop it is to have something in your hand that is more interesting to the dog; it has to drop the thing in its mouth to get the one you have. The dog learns that when it drops something, it gets something more exciting instead, and so there is nothing for it to be defensive about.
The basic principle is one of using positive reinforcement to train the dog, rather than forcing it to do things. The risk with forcing things, as you've learned, is that the dog might react badly. When there is a small child around, however well you trust the dog, it's still very important to supervise closely.