Whenever I try and open Scratch, it tries to load the files I previously had open. While I want to keep the behaviour, one of the files I opened was an SVG of several MBs. As a result, Scratch now hangs and eventually crashes every time I open it.
This is only an alternative, Lewis answer is the accurate one.
To clear currently opened files:
Open scratch --> settings --> preferences --> Behavior --> Show Welcome Screen.
If you are not able to open scratch, open terminal and run:
gsettings set org.pantheon.scratch.settings show-at-start welcome
The problem here is because scratch stores previously opened files.
There you have two (may be more) possible workarounds.
What lewis suggested, removing previously opened files, which results scratch to open welcome screen (I mean default one), but retain "last-tabs" behavior.
What I have suggested, directly changing to welcome screen (Alternative), but "last-tabs" behavior will change. Since OP wants to have the "Show last open tabs" behavior, he can change once he open scratch.
In both the cases the previously opened files be ignored and scratch open with welcome screen.
In any case the point is opening scratch without crashing.