Any ideas why I'd be getting a "memory allocation failed" exception when signing a transaction imported from the qr code - importing from the sd card works fine.
That usually happens when the PSBT you're trying to sign is quite large/complex. What version firmware are you running? If less than v2.0.6, please update to that as we've made quite a few quality of life improvements in it.
We're also about to release a beta for v2.0.7 that has a completely reworked transaction parsing memory approach that will allow for signing *much* larger transactions via QR, but we do still recommend microSD for larger transactions as the process is much faster and easier that way.