Vamos a ver majete :-P
Has oido hablar de TCP? Supongo que no... Así que te voy a dar una explicación rápida:
Cuando envías un paquete (o varios), puedes ir mandando hasta que alcanzas el máximo número de paquetes que puedes haber enviado sin que desde el otro extremo de la conexión te confirmen que han llegado (es el famoso tamaño de ventana TCP). Las confirmaciones (ACKs) de que los paquetes han llegado vienen por el canal de bajada (tú envías paquetes por el de subida). Ahora bien, si el canal por el que tienen que llegar los ACKs está saturado, éstos no llegan y por lo tanto no puedes enviar más (supones que al otro lado no son capaces de recibir tantos paquetes).
Ahora lo que te pasa a ti: Alguién te está mandando paquetes a 25KBps y todo va estupendo (estás llenando a tope el canal de bajada, pero el de subida está libre), pero de repente empiezas a enviar tráfico a 12KBps y saturas tu canal de subida, por lo que los ACKs que estabas enviando a cierta velocidad antes para que te siguieran enviando tráfico, ahora no llegan o llegan más lento. Por lo tanto, que el que te estaba enviando tráfico considera que ya no eres capaz de recibir tráfico a tanta velocidad y baja la tasa.
Solución: limitar tu tasa de envío en subida para que siempre quede "un trozo de canuto libre" y los ACKs de TCP puedan ser enviados a la tasa usual y la fuente que te esté enviando los datos no baje la tasa.
Insisto: limita la tasa de subida o si no, como te pases a 128/128 no vas a bajar ni a 3KBps.