I think driving a large relay requires, first and foremost, layout design. Adding suppressors should be thought about after the layout is properly designed first.
You should think about the route the current flows; also, you need to supply the current from somewhere - this means capacitors. If the capacitors are insufficient or in the wrong place, you end up driving peak currents out from the Rpi's onboard capacitors - and, worse, Rpi doesn't provide proper high-ESR dampening bypass cap, so it's sensitive for this kind of abuse, and can easily blow up due to voltage peaks from LC ringing simply caused by switching any external load.
Once you fix the mistake of using a wrong (slow) type of diode in the wrong place (at the relay), you can arrive at a properly decoupled half bridge design; that's what a relay driver is! You should have the FET and the diode tightly coupled with enough low-inductance DC link capacitance at the bridge. This DC link capacitance should then include some ESR to snub parasitic ringing; typically it would be a combination of small MLCCs or film caps in the bridge, no more than a few mm away, and then some large electrolytics to provide the R for dampening the LC.
If you STILL have voltage spike issue after this, in the DC link, adding the TVS can be considered.
Driving a relay using a transistor from a simple microcontroller or computer IO pin is a big catch for young players; it appears utterly trivial, but actually requires much deeper understanding than most people ever realize.