For Basic Auth where the credentials are sent on each request it's expected.
In order for the ServiceClient to retain the Session cookies that have been authenticated you should set the RememberMe
flag when you authenticate, e.g using CredentialsAuthProvider:
var client = new JsonServiceClient(BaseUrl);
var authResponse = client.Send(new Authenticate {
provider = "credentials",
UserName = "user",
Password = "p@55word",
RememberMe = true,
});
Behind the scenes this attaches the user session to the ss-pid
cookie (permanent session cookie), which the client retains and resends on subsequent requests from that ServiceClient instance.