It's worth noting not all special characters are removed, for example C# and C++ (programming languages) return results, $ returns results, etc.
However, I tried searching for a code segment that I use in ASP.Net "<%#" and it returned no results. I tried searching "<%# in ASP" and it returned the same results it would have if I had searched just "in ASP". So it was clearly ignoring special characters.
I searched around and only found this thread on the topic Search including special characters and other normally ignored symbols/words where the only reasoning is at a 404'd link. It does explain however that they include spcecial charcters that are associated with "popular terms". That link also shows that many users hate this experience as it leads to results they didn't want.
I assume implementation isn't the issue as it is Google, the most used (and probably best funded) search engine out there. So what is the reasoning behind leaving those searches out? Why include them when only when used in "popular terms"? What benefit would that have to a user?