It's a good idea. In the absence of other cursers, though, this is swingy in the way that all cards are that require specific collisions (Treasure Map, Baron, etc). And ultimately, I don't think the reward is good enough. When it hits, then that means two of the five cards in your hand get used to produce 1 card, 1 buy, and $3. I'd much rather have two Silvers instead, as they'll produce roughly equivalent benefits, not consume an action, can't be drawn dead, won't cost me a VP at the end of the game, and -- most critically -- work even when they don't collide in the same hand. Of course, you can pick up a Junk Collector and a Curse with a single $3 buy, whereas two Silvers (normally) requires two, so there's that.
In a cursing game, achieving the collision will be much easier. I can see maybe wanting one of these in such a game. On the other other hand, cursing games have cursers, and most cursers are terminal, so you'd have to accept the risk of buying another terminal to add to a deck that's already got one. Often that will be acceptable, but it does somewhat weaken the card further.
I'm not sure how you balance this both for cursing games and non-cursing games, but it probably needs more. Maybe +$4 when you hit, like Baron, or a stronger bonus regardless of whether it hits or not, like an extra card.