Lo que pasa es que php tiene un sistema de protección que cuando intentas causar una denegación de servicio atraves de una expresión regular entonces lo detiene y como se detiene retorna el valor no filtrado.
http://www.checkmarx.com/Upload/Documents/PDF/Checkmarx_OWASP_IL_2009_ReDoS.pdf