It's probably not working correctly. Every time I've started up a new heater, the temp rose a 2 or 3 degrees within an hour at least. Definitely complain and try to get a refund. Some better heaters for you are one of these two:
Hydor Theo -- I own 2 of these. They're actually relatively small, so if you wanted you could get the 50 watt model of this, keep it adjusted low, and use it safely in your 3g. That way, if you ever wanted to use it on a larger tank, you wouldn't need to buy a more powerful heater. An admin on this site,
, uses 50 watt Hydors in her 2.5 gallon tanks with no problem.
Aquarium Heaters: Hydor Theo Heater
Marina adjustable 25-watt -- I own one of these (as well as the enormous 50-watt version that would never fit in a small tank), and I've been using it daily in my old 3g for two years now with no problem. It's main drawback is that it doesn't have temperature labels, so you just have to crank it up and watch where the thermometer lands. Keep an eye on it for 24 hours to see where it peaks at, and if it's too high, turn it down slightly.
Marina 25 Watt Mini Submersible Aquarium Heater | eBay
The big thing about adjustable heaters vs. pre-set (which is what you have), is that for adjustables, upwards wattage doesn't matter at all (I once saw someone put a 100 watt adjustable in a 5g), because you can make it go to any temp you want within its capabilities. With pre-set, it's putting out the same amount of heat always, so if it's too hot or too cold for your tank, there's nothing you can do.