66% apparent attenuation (1.062->1.020) is definitely fairly low for that yeast.
If you used just one pack of 2308 for your starter, that's a pretty small starter for a lager that big. Normally you'd be looking at a 3-4 liter starter for a 1.062 lager.
Not the direct cause of your gravity problem, but a d-rest that late might not have been very effective at cleaning up diacetyl. It appears that your yeast went dormant. OTOH, you may not even have a diacetyl problem. However 2308 does often produce plenty of diacetyl, and might be more prone to do so with an underpitch.
As for what to do now, well it depends. Have you tasted it? Do you like it? A 1.020 finish for a Marzen may not be too bad. Are you going to bottle, or keg? If kegging, obviously no need to worry about bottle bombs.
If you do want to try to lower the gravity, you can warm even further and try rousing the yeast with a swirl or very gentle stir, but this might not work. A more likely trick would be to re-pitch fresh yeast from a larger starter. At this point you probably could get away with a very clean non-lager strain and not change the flavor profile too much.
Also be sure you've calibrated your hydrometer first. It's not at all uncommon for a hydrometer to be off by a few (1-4) points. E.g. your beer might really be 1.016.