Half-hourly is a perfectly sensible service for anywhere outside a major metropolitan area. It's not barebone at all - people will plan their journeys around the service and 30-minute intervals gives you plenty of options without wasting significant time.
Take for example the line out of Waterloo at about 45 minutes out your looking at the following stations (off peak frequency):
Farnborough Main (3tph, pre COVID 4tph) serves an urban area of 240,000 people with several other stations, but Farnborough has a population of 57,500.
Fleet (3tph) severs an urban area of 45,000 with no other stations.
Winchfield (2tph) immediate population is tiny, but serves a nearby settlement of 5,000.
Hook (2tph) settlement of 10,000 (but it's also got other places which connects to it by bus).
Basingstoke (7tph - to/from Waterloo - but then it's a junction station and 2tph few would use to go to Waterloo due to the extra time taken) District council has a population of circa 185,000.
Based on that I'd agree 2tph is fairly normal for a settlement of 15,000. If you're lucky with routing you may see 3tph (i.e. happens to be between two larger settlements).
"Should" it be more is a different matter.
Personally of the above Hook might benefit from 3tph (every 20 minutes is minimum turn to and go frequency).
Farnborough Main and Fleet should be closer to 5tph (possible if COVID hasn't happened and Crossrail 2 was built).