My first guess was the thermostat. It would not be a water pump, because if a water pump went, all you would have to do is start it, and let it idle for about 5 mins, and it would be overheated, the fact that you can drive it, tells me that it is indeed a head gasket. Sorry to tell you this, but I had a car that kept doing the same thing, and I sold it before the problem got too bad, and before I did any repairs, I found out two months later, the buyer had a new head gasket put in it. Good luck. I head the 3.1's are said to not have the best head gaskets.