はい、リークの定義方法と後でどの程度意味するかに応じて、リークがあります...
リークによって「メモリは割り当てられたままで、使用できなくても使用できます」という意味であり、後者の場合は、disposeを呼び出した後であればいつでも意味します。そうすると、永続的ではありませんが、リークが発生する可能性があります(つまり、アプリケーションランタイムの寿命)。
MemoryStreamによって使用されているマネージメモリを解放するには、その参照を無効にすることにより、その参照を解除する必要があります。これにより、ガベージコレクションの対象となります。これに失敗すると、それを使用し終えた時点から、参照がスコープ外になるまで一時的なリークが発生します。その間、メモリは割り当てに使用できなくなります。
usingステートメントの利点(単にdisposeを呼び出すよりも)は、usingステートメントで参照を宣言できることです。usingステートメントが終了すると、disposeが呼び出されるだけでなく、参照がスコープ外になり、参照を事実上無効にし、オブジェクトをガベージコレクションの対象にすぐにできるようにします。
すぐに参照を解除できないことは、古典的な「永続的な」メモリリークではありませんが、同じ効果があります。たとえば、(disposeを呼び出した後でも)MemoryStreamへの参照を保持し、メソッドの少し下でさらにメモリを割り当てようとすると、まだ参照されているメモリストリームによって使用されているメモリは利用できません。破棄を呼び出してそれを使用し終わったとしても、参照を無効にするか、または範囲外になるまで、あなたに。