Does a matched filter really improve SNR? Does the matched filter actually improve SNR or does it maximize it (making sure that it is not less than what it should be) ? improving SNR would not make sense to me as suppose a receiver has a certain NF that defines an SNR for a signal at a certain power level and a certain BW, improving SNR would mean reducing NF, and that wouldn't make sense, would it?

Assuming a pulse shaped  BPSK signal with a symbol or bit rate =1/BW (a roll off almost equal to zero), the SNR at the matched filter output =Eb/No, multiplying the denominator and the numerator by BW we get: signal power/ noise power and noise power would of course be a function of NF, so in that case where is the improvement? or do you want to say that already assuming that signal BW=1/rate because of pulse shaping  is the condition that did the job?
There is no contradiction. Matched filters are often used because they are an implementation of a sliding correlator, which is the optimum detector (in the maximum-likelihood sense) for linear modulation in the AWGN channel. That is, the SNR at the output of the matched filter will be maximized when the filter lines up with the point of reception of the signal that the filter matches.

This doesn't contradict the known properties of your receiver (i.e. its noise figure). The point to notice is that the SNR can be different at the input of the matched filter than it is at the filter output. The SNR at the matched filter input (i.e. your front end's output) is determined by the signal power at the receiver input and the noise figure of the front end. But by applying signal processing techniques, like matched filtering, you can improve that SNR to achieve more accurate detection.