I solved all my (frequent) freeze issues by replacing the wifi card with an Apple version - same atheros chip to be libre, only a different code like 93xx. Before that I had tried everything - memtest86, changing the ram, the fan, monitoring the CPU temperature, etc. Nothing helped.
The apple card is the one with 3 antennas connector.
In lspci:
02:00.0 0280: 168c:0030 (rev 01)
02:00.0 Network controller: Qualcomm Atheros AR93xx Wireless Network Adapter (rev 01)
Subsystem: Apple Inc. AirPort Extreme
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at f2400000 (64-bit, non-prefetchable) [size=128K]
[virtual] Expansion ROM at c0000000 [disabled] [size=64K]
Capabilities: [40] Power Management version 2
Capabilities: [50] MSI: Enable- Count=1/4 Maskable+ 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Kernel driver in use: ath9k
That was a few months ago. It didn't cost much. I only ever had about 1 freeze since then, which could be due to xorg since I was playing with options. My uptimes run in weeks.
So it's now rock stable - and I still do have a WWAN card, as I want to play with a few telephony things, so the WWAN was not the culprit.