Issue with REPARSE status

In my driver I’m redirecting file I/Os from one volume (V1) to another (V2).
For that purpose I have two FS filters,
one for V1 (F1) and second for V2 (F2). In F1’s create dispatch I change
FO’s FileName so it points to a file
located on V2, zero RelatedFileObject (if there was one), create a
descriptor for that FO (i.e. associate FO
pointer with my data), save that descriptor in F2’s descriptor table and
return STATUS_REPARSE.
Then, when F2’s create dispatch is launched, I look up descriptor for FO in
the table and if found do some handling,
if not just pass the IRP down. What I see sometimes (rather rarely) is that
FO comes to F2 in the context of a different
process than it was originally seen in F1! Every time I see this happening
the FO is related to a directory.
At least I’ve never seen this for file’s FOs. My question is if this is
something that might be really happening when I/O Mgr
handles reparse status or is it just that I’m “missing” some I/O that made
FO that I’ve seen in F1 discarded and then reused?

TIA,

Vladimir