スレッドセーフについて教えて下さい。

よくフィールド変数は他スレッドから値が参照されたり、書き換えられたりするから、
使ってはいけない旨の記述を目にします。

例えば
class Calc{
private CalcSub calcSub;

public int execute(int param,int param2){
calcSub = new calcSub();
return calcSub.multiple(param,param2);
}
}

このようにメソッド内だけでCalcSubクラスをインスタンス化したときも、危ないのでしょうか。
メソッド内の変数はスレッドセーフと聞きますが。
呼び出すたびに新しいインスタンスを生成しても危ないのですか?