That's how SshCommand works. Every command is executed in a new shell.
client.RunCommand("pwd")
=> $HOME
client.RunCommand("cd /tmp")
client.RunCommand("pwd")
=> $HOME
client.RunCommand("cd /tmp && pwd")
=> /tmp
client.RunCommand("pwd")
=> $HOME
client.RunCommand("cd /tmp")
client.RunCommand("pwd")
=> $HOME
client.RunCommand("cd /tmp && pwd")
=> /tmp