This always seems to be the answer, but...
Talk to the player first.
I'm assuming you have some means of contacting your players outside your normal game time, if only to set up game or let each other know of cancellations or emergencies. Send your player a message, something along the lines of "Hey, I've noticed that you seem dissatisfied at game lately. Is there something going on you're not happy with? I want to make sure our game is fun for all of us, so please let me know if you have any concerns."
See how he responds to that. If he responds with a list of concerns, use those as a starting point. If they're things you can address, try to do so. If you think his problems are irreconcilable with your game and/or the other players, then say that, politely, and suggest that he might want to look for a different game to join.
If his response is neutral or brushes you off (such as "nothing's wrong, see you next game"), then you can let it go for a session or two. See how he behaves, and whether he raises the issue himself.
Ask another player to initiate communication
If you're not comfortable approaching the problem player directly (or don't have the means to do so), you can speak again with the person who told you this player wants to leave. It sounds like the go-between is friendly with him, so you can ask the go-between to, next time the player brings up the issue of wanting to leave the campaign, tell him to talk to you about it.
Don't use the go-between to actually convey messages like "I heard you want to leave, what did I do wrong?". That kind of thing usually gets lost in communication, and it puts the second player in an awkward spot. Just ask him to pass on that you're open to hearing your players' concerns and that the player is welcome to talk to you if he has a problem.
Don't jump the gun
Either way, don't rely on hearsay to drop a character and his player from the party. Don't allow the other players to sacrifice this guy's character unless you have his explicit buy-in (or if it comes up naturally in-game and the player himself is all for it). Don't assume that he meant what he said about wanting to drop, either - I've had players complain about my game in moments of frustration, but when I ask them if there's something I can do better, they reassure me they're having fun and were just briefly frustrated.
TL;DR: Communication is your friend!
Talk to the player. Follow his lead, and don't make assumptions based on what other people are telling you. If you handle this issue with grace and good will, then it's highly unlikely the other players will see a reason to stop playing a game they enjoy just because their friend did.
Why not introduce some major incident that lets your PCs go unwatched, thus with the ability to free themselves and then help fight the incident?
Considering the fact that this is an historical campaign, you could start something big that didn't make it to the history books, and it could be thanks to your PC.
This way, your PC redeem themselves, AND write history!
The incident can even be Bob's character's doing, this way your PC:
- mess with history,
- fix it,
- stop Bob's character and may even kill him, to their great satisfaction,
- don't have the feeling that you saved them, in fact if you play this well, your only part will be to give them a chance to escape.
If you are concerned about how Bob will react, consider that you had a long talk with him, and he had several chances to correct his behavior. Clearly he had no respect for others' fun, so why bother?
Best Answer
Disclaimer
The Simple Way
Don't play with him. You're there to have fun, and he's making things not fun. If your comment about what he wants is accurate, and that would indeed ruin the game for the rest of you, then there's probably no way for everyone to get what they want, so majority rules. Of course, this is simple in concept but not necessarily in execution; still, it's preferable to letting resentment build into an explosion that leads to the same result but with even more hurt feelings.
Now, normally this would be done by the GM, in a private conversation, but if they agree it needs to happen but don't want to do it themselves for social reasons, it could be easier if done as a group, and you could start that conversation. Probably after or towards the end of a session, when he's been up to his usual shenanigans, I would call him on it and say "Hey, it really makes it less fun when you do X, and you don't really seem to be enjoying the game that much yourself. Since we seem to have such different styles, is it possible this specific game, with these rules and expectations, isn't really your thing?"
Note that this doesn't have to be personal, though it's difficult not to take something like this personally, partly due to Geek Social Fallacy #5: the idea that friends do everything together and therefore not wanting do do a particular activity together must mean you're not friends. To mitigate that, you could suggest specific, reassuring alternatives: "I don't think this game is working out as is, but maybe you and I could do [ACTIVITY] on [WEEKDAY] instead?" Don't suggest that if you wouldn't actually enjoy it, but perhaps you could arrange for someone who would to do so.
The Complex Way
Try to resolve the situation in a way that lets you keep playing this or a similar game. Ask this player to help you understand what makes them act this way - why they do the things they do, and why they respond the way they do to your actions (because the examples you gave really, really don't sound like any definition of metagaming i'm familiar with). This will be a long, possibly multi-part conversation. Two broad categories of possibilities, likely both present in some proportion:
If you can't find common ground after working on it for a while, you still have The Simple Way, and at least you know you tried.
Either Way
1. Focus on a specific, recent incident or two. You can allude to the fact that it's becoming kind of a pattern, but "You always..." is not the start of a productive conversation. Presumably, this player hasn't been thinking about this issue as much as you have, so a narrow, concrete focus will help them have information to work with.
2. Use I-statements. Saying "You need to stop doing X", while very possibly true, can sound too much like "Your behavior is bad and wrong and so are you."1 Saying "I really thought I was playing my character, and I wasn't out to get you, so I was hurt when you accused me of that," highlights the effect their actions are having and invites them to reconsider.
3. Avoid an "intervention" vibe. Especially since you're not the GM, try not to speak for anyone else; just mention your issues with this player's behavior. There may come a point in the conversation where it's appropriate to invite others to share their opinions, but anything like "We've decided..." sounds too much like "We've all been talking about you behind your back, and the conclusion is that you suck!"
1This point applies in cases of mildly annoying behavior where you're trying to keep things friendly. When the stakes are higher, like if the behavior is making people feel unsafe, it's much more important to be clear about "You need to stop doing this, now." I'm interpreting this situation as the former, but I could be wrong and either way I wouldn't want people to generalize too much from this point of the answer.