it's 1 of of the following
1. Head gasket common issue with these motors
2. stat stuck - is it oem? if so replace it with another OEM if you put it in a pot of boiling water and it does not open
3. rad cap, car is 15 years old and it may have failed.
4. cooling fan relay or fan failure
IMHO if you are going to do a head gasket, you might as take the engine out and reseal it and correct any issues...