Sounds like the HBV is your problem although you may also have either a restriction in the heater matrix or a partial blockage in the system.
My advise would be to purchase a new Genuine GM HBV and 5ltrs of red coolant from your local VX Stealer.
Drop the existing coolant from the sytem via the radiator drain plug..bottom corner of rad n/side.
First remove both quick fix heater hoses from the o/side bulk head and get a garden hose and runwater through both top and bottom outlet until it is running clear and steady.Next replace the existing HBV with the new unit and thoroughly check all hose clips and joints are secure.Refill entire system with the 5ltrs of new coolant and then top up with water .Start car with header tank cap removed,heater on HI setting and blower fans on fast, and leave on fast idle until temp reaches mid point carefully checking top hose for "sudden hot rush" indicating thermostat has opened.
Check coolant level and top up as required then replace header tank cap and take car for a 10 mile drive keeping eye on temp gauge.On return again check coolant level.Probably worth then leaving to cool down and recheck level.
With any luck that will have solved the problem