I can understand switching to a different character once, like, you didn't understand the system or the campaign, and you didn't realize what kind of character would be a good fit for you. But repeatedly doing it, after just a few sessions?
It's time to sit down with the player and have a hard talk.
"What do you want from this game? Here is what we're doing with the
game. The other players are on board, and getting what they want from
the game, so it can't change too much to meet what you need, but it's
clear you keep changing characters because you want something that
you're not getting. What is it? We might just have to accept the
fact this game isn't what you want."
If the player isn't getting what they want, and it's impacting the rest of the group, it's really better to not play with this person. It may be they don't know what they want, or it may be that they'd be better off playing with another group that will give them what they're looking for. But it's very clear your group isn't providing it and it's wasting their time, and for your group, wasting your time as well.
Tell them what the problem is, give suggestions on how to fix it, define a set of rules, and if they don't follow kick them out.
First, set expectations. Good gaming practice is to have a session zero that goes over not just house rules, tone, theme, character building, but also table rules, like 'no cellphones' or 'keep chatter to a min'. It's too late to do that this time, but not too late to have a conversation.
Before the next game say you want to have a discussion about table behavior. Perhaps do it online since these players don't show up regularly. Bring up the problems that are happening in the game(though do your best not to make it an attack on these players, because that increases the chance they'll get defensive and it will end in an argument). Explain that you want the game to run smoothly and in order to do that, you need X, where X is a certain amount of agreed attendance (or a way to mitigate lack of attendance, such as characters that are designed to disappear and reappear and are OK not knowing whole swathes of plot) and a certain respect for the game at the table. Suggest what rules you're OK with and elicit feedback. Make sure you don't end the discussion without saying, "These are the rules and this is what I'm holding you to." Total agreement is the goal but since this appears to be your game it's not necessary. Just make sure you have a reasonable set of rules most of the group is OK with.
When people start breaking the rules, pull them aside and mention it privately later. During the game simply ask them to tighten up a bit. If it's rare, give them more chances. If it's frequent, boot them when they have broken the rules 3 times or so, depending on how severely disruptive they are. If they kill a whole game session after the talk, once is enough. You want to make sure you give them a chance, recognizing that they may be trying but not good at it. One of the problems with RPG's is that they are also often friend hangout time and most people want to relax and enjoy hanging, not do serious 'game face' acting the whole time. There needs to be a balance but that includes recognizing that slipping into bad gaming behaviors is an easy habit to acquire. The important part is that they are trying, getting better, and not being overly disruptive. They need to show respect for the game and those who want to take it seriously as well.
This is the rule I follow whenever I run a game; it works very well. My group is particularly bad at showing up and not being disruptive. When other people step into the GM role it tends to be much worse, sometimes we lose whole sessions doing almost nothing. Because I set expectations no one is mad when I enforce them. Because I talk to people separately they are less likely to be defensive and more receptive to my point of view. I've never had to kick anyone out either. They will generally leave on their own if they can't follow the rules because they aren't having the type of fun they want; it essentially becomes a mutual break up. That may not work in your case depending on how mature these players are but mine are hardly the most emotionally developed.
Best Answer
Metagame
First, have a metagaming session between the dwarf player and the rest of the players.
Within that session, determine whether his desire to be sneaky and steal from his friends is upsetting the others. Make sure the players state their unhappiness with this, not you. Perhaps, maybe, the player will grasp that his play style is detracting from the enjoyment of the others.
If he does accept that maybe some players don't enjoy this style of game, allow him to ret-con his alignment and concept to something less opposed to the party (if he wants). Without penalty.
The goal of this (and it could be as quick as ten minutes before the next game starts, or as long as an hour; it really shouldn't be longer than that, if everyone really wants to game together as a group) is to find a common ground from which to enjoy the game.
Or maybe the players will all decide that, "hey, this dwarf vs elf fight that's going to happen eventually creates a cool dramatic tension and we want to keep that." Okay. That's workable. But only so long as everyone involved is on board and willing to work within that setup. Because otherwise it's just a dwarf player being rude towards the other Players, and that's no fun for them.
Not Metagame
If on the other hand, he doesn't choose to modify his character concept / play style and/or the party doesn't reach consensus on what they want the game to be about, then eventually the PCs have to discover they are missing gold. Or that the dwarf is taking gold. And then they have to decide how they react to this situation.
There is also the question of why elves would choose to travel with a dwarf who clearly despises them. And why a dwarf would choose to travel with elves when he clearly despises them. Does the dwarf role-play his distrust/dislike of elves in general, or just uses that as an excuse to rob his teammates?
From an in-character perspective, each character must take into account the fact that they are journeying with another character into dangerous situations. They know that a fight will happen eventually. And that, during that fight, their lives depend on each other. If you know the dwarf hates you, do you really trust that the dwarf will defend your life in a pitched battle?
As the dwarf, the same applies. Would I put my whole heart into a battle, protecting elves? Or would I hold back, play it safe, and see if maybe the elves will be taken down. Let the bad guys and the elves wear each other down to the point that I can then swoop in and kill them all and take their things at the end?
As the elves, I'd at least consider the above paragraph (assuming my Int was high enough to do so). And I'd think long and hard before I'd enter a dungeon with that dwarf. If I cannot trust my teammates, then I cannot be trapped in a fight to the death with them. Or at least, not if I have any choice at all in the matter.
Chaotic Neutral Alignment is one that I've seldom seen work out well for the player and the party as a whole, over time. If the PC continues to focus on robbing the other PCs, then he risks sliding from CN into Neutral Evil. But, in general, a character with CN alignment struggles to fit into a group of others, since the entire point is that they're all about themselves.
Session 0
This is another one of those situations where a session 0 would have helped. Make sure everyone is on the same page about the goals of the game before the first game starts. Make PCs that complement each other and can work together. Or if they cannot work together, then work out the dynamics of that early so the PC vs PC conflict doesn't spill over into player vs player conflict. In my experience, PC vs PC almost always becomes Player v player.
These sessions are where you and the players can work together to agree on things like "no one can be evil" or "we agree that PvP is generally not a good idea" or "we want a campaign that includes these goals" or "paladins are the worst so no paladins!" Or whatever.
What NOT to do
As GM, you might be tempted to "solve the problem" for the party by sending in an NPC or some other arbitrary god-like process. I would recommend against that, unless the Dwarf's player asks for you to do so.
If you slam him like the hammer of Thor, then you're taking away his agency. You've turned this into your game instead of everyone's game. The railroad tracks look nice, but they aren't really what most players want.
But maybe the dwarf player recants his choices. But he doesn't have a good way to rework his concept. I've seen some players specifically say they'd like to kill off a PC and start over. It isn't likely, but it is possible. If he asks for that, I wouldn't roleplay it out in full. I'd suggest doing a fast summation and letting the player start up a new PC at the same level as the rest of the party. Work to make this transition smooth.
Be prepared for ugly.
It is entirely possible the Dwarf player won't want to change. And that elf players will want him to change. And that no consensus is reached. Or that an in-game action will lead to the elves attacking the dwarf. No one wins here. Try to steer them towards a solution that everyone likes. But if that fails, if no one will bend, then you may end up in the regrettable situation where the dwarf player has to accept that no one wants the dwarf around and that he (either the dwarf OR the player) has to leave.
Lead into all this with a reminder (to all) that this isn't personal. This isn't anything against PLAYER. This is a problem with the dynamics of elves vs dwarves, not Bob vs Jim, James, Jack, and Jill the players. That distinction matters, sometimes.
Hopefully, that doesn't happen. Hopefully, everyone can get on the same page. But this is one of those "the needs of the many over the needs of the one" situations. Trust Spock. He knows.