Yes applying a new snapshot is a last resort..
In your situation, you needed to let the logreader "catch up" as there were many transactions in the TLog. This may have meant stopping activity on your database...perhaps that would not have been viable.
Regards
Graeme