参照型の変数についてです。

Image a;
Image b;

a = new Bitmap(...);
b = new Bitmap(...);
a = b;

とやると a と b の内容は同じになりますよね?
(同じオブジェクトを参照する事になるから)

この時 a の内容を書きかえると b も同時に書きかわってしまいますよね?

a に b の内容をコピーしたい時は

a = new Bitmap(b) のようにする必要があると思うのですが
参照型の変数はこのように値をコピーする必要があるときは
代入だけではコピーにならないという事だと思うのですが
私の理解はあっていますか?