title: Why C# garbage collector doesn't call FileStream destructor to release native file handle
body: <p>c# has FileStream class and wrap OS file handle. FileStream has <a href="https://github.com/Microsoft/referencesource/blob/60a4f8b853f60a424e36c7bf60f9b5b5f1973ed1/mscorlib/system/io/filestream.cs#L1308" rel="nofollow noreferrer">destructor</a>, consider we get instance from FileStream and forget it, if there aren't any refrences to it, GC must call it's destructor and release OS file handle so why it will not happen untile myself call it's dispose or application terminated?</p>