Ugh, finally got this thing back in one piece. It was still leaking water out of the heater box with the replacement (used) matrix in. Despite the fact it didn't seem to be losing coolant level, I replaced it with a brand new one, then it sprung a massive leak from the hose connections.
It's working ok now though, only issue is that when idling the heat is quite a bit hotter from the passenger side than drivers. Both feed pipes into the matrix are scalding hot though so it's a bit strange to me. The only thing left is the heater valve unit, apparently they can become blocked so I'll get another one and clean it.
Two things I learned..
Changing heater matrix in an e36 is ****ing awkward.
Trying to bleed out the cooling system is a waste of your time.
My method...
Remove bleed screw and tank cap. Fill it up to the brim, keep adding more until no more bubbles come out of the bleed hole.
Bleed screw back in. Squeeze rad hoses repeatedly, you want to see a nice stream of water going into the expansion tank every time, with no air. If the level falls, add more.
Cap back on, drive the car for a good few miles, wait for it to fully cool down (I mean overnight) then repeat the procedure.
It will 'bleed' itself during normal driving, I found idling and/or revving just doesn't work.
If you have a leak then it will royally **** everything up and you will NEVER get it bled properly.