Summer is the obvious season, and for the beach it is the right call. The lake water warms up by late June and stays swimmable through September. July and August are the busiest months — the parking lots genuinely fill on hot weekends, and arriving after 10am means a long walk from an overflow area. If you have flexibility, weekdays in late June or early September give you the same weather with a fraction of the crowd.
Fall is underrated. The beech-maple forest behind the dunes puts on a proper show in October, and the beach itself is beautiful in cooler weather — wide and empty, with the lake turning grey-green and the waves picking up. You cannot swim comfortably in October, but the hiking trails are at their best and you can usually have Tower Hill to yourself on a weekday. The park stays open year-round, and a winter visit after a snowfall is genuinely striking — sand dunes under snow is an unusual combination.
Camping is available in the park and is popular from late May through early October. The campground fills quickly on summer weekends, so reservations well in advance are essential if you want to stay overnight in peak season.