Both masternode rewards and staking inputs are subject to "maturity". Effectively this means that they are not withdrawable for a period of 'x' blocks. (With regards to staking, the staking input will also only be eligible for more rewards after 'y' confirmations).
Basically, if you stake an amount (or receive a reward on a given staked amount), then the whole amount becomes "immature" and therefore not withdrawable for the above mentioned period.
Remember now, that a reward received is not actually a separate transaction – which you receive. This can be illustrated with a simple example.. Say you stake 1000 coins of a particular crypto and then receive a reward of 10 coins, the 1000 coins is considered a staking input of 1010.. It it stakes again, then all will become a staking input of 1020 etc..
So effectively the "immature" coins needs to "re-mature". This may make withdrawing from staking sometimes appear slightly troublesome. Trying to withdraw in increments a while after a reward may indeed help with any such difficulties.