Видел это. Почему явное приведение к IDisposable? Это просто сокращение, гарантирующее, что IDisposable вызывается при выходе из блока using?
using (proxy as IDisposable) { string s = proxy.Stuff() }