Резюме для программиста
Смотрю stackoverflow - челы один за другим согласны и ставят это как принятые ответы, что в методах расширения нужно проверять параметр this на null. При этом аргументы разные, но втречаются и такие как "хотя это и сахар вокруг статического метода, но выглядит как метод экземпляра, поэтому я всегда проверяю". Более того, некоторые даже бросают исключение ArgumentException, скрывая то, что это налловая ссылка. Хотя, как я понимаю, до их бросания дело не дойдёт, попытка вызова расширения myObj.MyExtensionMethod при налловом myObj бросит исключение налловой ссылки сразу, не заходя в метод расширения. Ну а если зашли, то this стопудово не налл. Так к чему городить лапшу ради лапши, или что кому-то сложно отличить расширяющий метод от экземпляра, хотя в IDE стоят специальные значки для этого?
Поражает массовая упёртость и согласие с бесполезным лапшекодом... Правда, ответы времён 2010-2013 годов. Но уже тогда всё в IDE показывалось.