Timing error detector used for symbol timing synchronization The Gardner timing error detector is independent of carrier phase and frequency error, and is also quite immune to self noise (to my understanding, I may wrong about that). Can one assume that it is a recommended  timing error detector for these reasons?
Please if the answer is going to be "it depends on your system" with no further brief input/explanation , then abstain please.
It depends on your system :)

Seriously, it depends. Gardner is a pretty solid algorithm with a simple implementation, especially if you're using BPSK or QPSK. It can even be used in some MIMO systems. Its main disadvantage is that it requires two samples per symbol. M&amp;M requires only one, but it has its own disadvantages.

I think that these days the preferred solution is some variation of the polyphase detectors first proposed by fred harris. However, if you're experimenting and building your own system and you want to keep it simple, Gardner is a safe bet.