InsertManyAsync vs BulkWriteAsync: transactional, max rows via MongoDB C# driver 2.12

I have questions on InsertManyAsync vs BulkWriteAsync via the NuGet below:

I want to export 300,000 rows of data around 20 MB, convert them into JSON and import them into Mongo Altas.

My questions:

1 Which operation, InsertManyAsync vs BulkWriteAsync, is transactional, e.g. all or nothing?

2 What is the maximum rows or size allowed for each operation?

The link below or elsewhere don’t have the answers: