findOneAndUpdate and ReturnDocument = ReturnDocument.After in multithreading application

Hi

I am using C# driver and API findOneAndUpdate with option ReturnDocument = ReturnDocument.After.
I would like to understand if the returned document is always a document with state triggered by this particular operation or it returns a document with state snapshot created after this update operation and any other update operations executed on this document before taking the snapshot.

For example, if I have a single document with the following value

{
	“a”: “a1”,
	“b”: “b1”
}

and I set field “a” to value “a2” but at the same time another operation is setting “b” to value “b2”
then returned document will look like this (I see only changes made by me):

{
	“a”: “a2”,
	“b”: “b1”
}

Or I will get document like this (I see my changes + other changes executed nearly at the same time) ?

{

“a”: “a2”,

“b”: “b2”

}

I was not able find answer on this question in documentation.