Hallo Grindcore, thanks for reporting this problem. In such cases, it is immensely helpful if you can give the game number of the game where the problem occurred. That way, players can look at the game, see what happened, what the circumstances were (which may or may not have influenced the outcome of the situation). The game number can be found at the top of the game log and it is inserted into the chat window when the game starts.
I looked at the rated games of you from today and yesterday, but couldn't find a game with both Duplicate and Swamp Hag (unfortunately, one game I could not load because of an "internal error"). So I can't directly examine the situation where the problem occurred.
If you actually gained both a second copy of the card you bought and a second Curse with a single Duplicate activation, then that would be indeed an error. However, I'd guess what actually happened is that you gained just the card you bought and 2 Curses.
That could be the case because you gain the Curse from Swamp Hag before you gain the card you bought. That means that when the Duplicate gives you the option to give you another copy of the card just gained, it gives you another Curse. Only if you decline that option, will you then gain the card you bought and then Duplicate will activate again and if you accept, it will give you a second copy of the card just bought.
If you are not aware of this technicality of the order of gains in this situation, it is very easy to just click on the Duplicate option in the game log when it occurs the first time, because that option occurring is just what is expected.
Nevertheless, I checked the situation you described in a test game, but the outcome is as I described above: If you accept the first activation of Duplicate, you get the bought card once and the 2 Curses. If you decline, Duplicate will activate a second time and if you accept now, you gain 1 Curse and the bought card twice.