Heater matrix is notorious for collecting bits of crud as it is one of the lowest points in the system and the pipes in the matrix are very narrow so can easily get blocked greatly resticting the flow.
My advise would be to get 2 peices of either garden hose pipe or clear 15mm tube about 2 ft long.Push one end from each onto the top and bottom metal heater pipe that goes through the bulk head,after removing the quick fit rubber hoses

,then fit a small funnel to one end and the other end into a 1 tr plastic milk bottle or similar to act as a drain.Get some kettle descaller /fernox or similar treatment and slowly pour it into the funnel allowing it to flow down into the heater matrix and then keep filling until it starts to come out of the drain tube.
Leave it to do its stuff for a while then flush through with water again via the funnel and drain.If its going into a clear plastic drain cannister you should hopefull see the dirt/crud etc inside ,which has been removed.Swap the 2 plastic tubes or garden hose pipe around on the top /bottom pipes allowing the flush to go both ways and you should get most if not all the muck out.When you are happy with the result give it another good flush through now with just clean water to thoroughly remove all the descaller from the pipework.
Reconnect all pipework and refill system with 50/50 coolant mix and allow engine to tick over for a while with coolant bottle cap removed and heater on full ,temp Hi, to allow any air from the system.Refit cap and keep an eye on the fluid levels for the next few days.
Hope that fixes the problem.
