Yes, that is expected.
If you deploy a new version of your project, it may contain domain model changes: new or altered entities and non-persistent entities.
The mendix client retrieves information about your domain model from the server. Based on this it keeps state in the browser. If your domain model changes, the state in the client may no longer match your new project definition.
For example: if you change an attribute from read/write to read, the client needs to start including a hash to proof that the attribute was not changed. If it would communicate based on the old model an error would be thrown.
To avoid client errors we refresh the client. Technically, it's still the same session though.