To answer your first question:

the default behaviour of an octatrack should enable you to seamlessly switch patterns and banks… by default it should switch after end of pattern. (that means if you have a 4 bar pattern, and you switch to another pattern… you wait until patternA ends its 4bars… and patternB will automagicly play)…

UNLESS !!
you start to work with difrent length tracks… u might have set your patternlength to inf … which is an easy way to do different length tracks to keep on going… but also prevents you from ever getting an “end to a pattern”…

ok here goes:
if your octatrack is NOT in grid-recording mode. press function+bank.
and you will get a dialog, where you see if your octatrack is set to play different length tracks yes / no … and It should say what the main-pattern-length is… if this is set correctly… then look at
function+scale setup… and see what pattern-length is there…
make sure nothing says “inf”

Now for your sample-question:

if you record something in a track-recorder-buffer… it will exist until:
you rerecord something into it (you get new recording instead of the old) or when you reboot your octatrack…

so build your patterns in such a way, that they do not automagicly rewrite your buffers… but do write them in a way they use the buffers…
so you can switch banks, or do weird trickery on the just recorded or still recording sample…

and all this should work seamless…