When is OnPhotonSerializeView Called?

Options
Hello, I am trying to save bandwidth and reduce network traffic by only sending messages over OnPhotonSerializeView when necessary. When I am observing only one script it works exactly how I want it to (the receiver's OnPhotonSerializeView is called whenever the sender sends something) but when I observe multiple scripts the receiver keeps trying to read the stream even if the sender has not sent anything so I get the IndexOutOfBounds exception.
The photon view's setting is on reliable data compressed.

Here is the code of the script that is working (this is the only script being observed)

public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
{
if ((Vector2)transform.position == SentPosition)
return;
if (stream.IsWriting && photonView.IsMine)
{
SentPosition.x = transform.position.x;
SentPosition.y = transform.position.y;
stream.SendNext(SentPosition);
}
else if (stream.IsReading && !photonView.IsMine)
{
transform.position = (Vector2)stream.ReceiveNext();
}
}

Im not sending my position if it is the same and at that time the client on the other side doesnt try to receive anything.
This is really useful because this object can only be at two places and then stays there

Here is the code that is giving me the OutOfBoundsException (There are two other scripts being observed on this object)

public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
{
if (stream.IsWriting && GobblerID != int.MinValue)
{
stream.SendNext(GobblerID);
GobblerID = int.MinValue;
}
else if (stream.IsReading)
{
GobblerID = (int)stream.ReceiveNext();
}
}

Im trying to send GobblerID(int) only when it gets updated but the receiver keeps trying to receive it even though it has not been sent


I have been stuck with this for a long time any help will be MUCH APPRECIATED. I've tried to give all details relevant pls let me know if you want to have any other detail.

The photonView settings are exactly similar the only difference is that i have multiple scripts being observed.