ファイナライザはガベージコレクタからによってのみ呼び出されるものであるため、ファイナライザを実装してもそれを直接・明示的に呼び出すことはできません。 また、オブジェクトを明示的に破棄するdelete objのような構文もありません。 VB6以前に存在したSet obj = NothingのようなNothingの代入は、.NETのVBにおいては単に参照の放棄となり、即座にオブジェクトの破棄(およびファイナライザの呼び出し)を指示するものとはなりません。 C#におけるnullの代入も同様です。

ファイナライザを直接・明示的に呼び出すことはできない
using System;

class Resource {
  ~Resource() {}

  public void Free()
  {
    ~Resource(); // error CS1955: 実行不可能なメンバー 'Resource' をメソッドのように使用することはできません。
    Finalize(); // error CS0245: デストラクター と object.Finalize を直接呼び出すことはできません。使用可能であれば IDisposable.Dispose を呼び出してください。
  }
}

class Sample {
  static void Main()
  {
    var res = new Resource();

    res.~Resource(); // error CS1001: 識別子がありません
    res.Finalize(); // error CS0122: 'Resource.~Resource()' はアクセスできない保護レベルになっています

    //delete res; // このような構文は存在しない
    res = null; // 単に参照が放棄されるだけで、オブジェクトの破棄・ファイナライザ呼び出しを直接指示するものとはならない
  }
}

何らかの終了処理・解放処理を行わせたい場合は、ファイナライザを直接呼び出すのではなく、IDisposable.Disposeメソッドあるいは専用のメソッドを用意し、それを呼び出すようにします。

ファイナライザがオーバーライドされたクラスを継承し、派生クラスでもファイナライザを実装するような場合については、§.ファイナライザとIDisposableのデザインパターン (disposeパターン)を参照してください。