When the condition "full" is met, the loop doesn't repeat. So obviously, the condition isn't checked any more. You're out of the loop.
You need to wrap an unconditional loop around the conditional one. That way, the condition is checked repeatedly and when the storage has room again, the action inside the conditional loop restarts.