Здравствуйте, Streamer1, Вы писали:
S>Есть приложение на C#, в котором создается поток рисующий битмапы,

Рабочий поток не должен заниматься рисованием, его задача — сгенерить данные.
S>Приложение почти рилтайм
частота перерисовки формы >= 50 раз в секунду.
S>Требуется максимальная скорость. Как это можно сделать?
При таком раскладе не надо никому ничего сообщать. Заведи таймер, срабатывающий так часто, как тебе надо. Таймер возьмет последние данные от рабочего потока и их отрисует. Все, не надо никаких усложнений.