Eliminar un elemento de la lista que coincida con una subcadena

¿Cómo elimino un elemento de una lista si coincide con una subcadena?

He intentado eliminar un elemento de una lista utilizando elpop() yenumerate método pero parece que me faltan algunos elementos contiguos que deben eliminarse:

sents = ['@$\tthis sentences needs to be removed', 'this doesnt',
     '@$\tthis sentences also needs to be removed',
     '@$\tthis sentences must be removed', 'this shouldnt',
     '# this needs to be removed', 'this isnt',
     '# this must', 'this musnt']

for i, j in enumerate(sents):
  if j[0:3] == "@$\t":
    sents.pop(i)
    continue
  if j[0] == "#":
    sents.pop(i)

for i in sents:
  print i

Salida:

this doesnt
@$  this sentences must be removed
this shouldnt
this isnt
#this should
this musnt

Salida deseada:

this doesnt
this shouldnt
this isnt
this musnt

Respuestas a la pregunta(3)

Su respuesta a la pregunta