6NF means a relvar satisfies no non-trivial join dependencies, which means it has a candidate key and at-most one other attribute. There may or may not be foreign keys. All the normal forms are unrelated to whether foreign keys are defined.
Not sure what your question about M2M is. When and where you use 6NF depends on your motivation for using it in general. Its main use is for data warehouse and temporal data models.