1) Yes, if their scope doesn't reach any farther, their methods aren't changing anything outside the instance boundaries and their shared members (if any) are thread-safe themselves (see answer 3).
2) Yes, for pretty much the same reasons as 1.
3) Yes, if whatever they do doesn't change any other objects. For example, a shared Multiply
method is generally thread-safe.