Такое чувство, что дело в Using.
У объекта, который заключён внутри Using при выходе из него автоматически вызывается Dispose().
И поток, в который ты записал POST данные, отправляется в сборщик мусора, ещё до отправки.
SW тебе вообще не нужен, если ты туда байты записываешь, можно и сразу в поток писать.
В общем, убери using и явно вызывай Dispose после завершения запроса.