.Net regex que coincide con $ con el final de la cadena y no con la línea, incluso con multilínea habilitada

Estoy tratando de resaltar el código de descuento, pero me encuentro con este comportamiento extraño de la opción multilínea de expresiones regulares .NET.

La siguiente expresión:^(#+).+$ funciona bien en cualquier herramienta de prueba de expresiones regulares en línea:

Pero se niega a trabajar con .net:

No parece tener en cuenta la etiqueta $, y solo resalta todo hasta el final de la cadena, pase lo que pase. Este es mi C #

RegExpression = new Regex(@"^(#+).+$", RegexOptions.Multiline)

¿Qué me estoy perdiendo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta