B should be it because A fails to have proper pronoun referent "their" which improperly refers to singular noun "beans".
"which" and "that" are both relative pronouns. "that" introduces a restrictive clause whereas "which" could introduce either a restrictive or non-restrictive clause.
restrictive clause: essential information that cannot be removed from a sentence without distorting the sentence's meaning
non-restrictive clause: non-essential information that can be removed
ie The corner store that belongs to Peter is very large
ie The corner store, which belongs to Peter, is very large
In the first example, you know
exactly which corner store we are talking about: the one belonging to Peter.
In the second example, "which" is a non-restrictive clause which you can remove without affecting the meaning of the main clause.
So when would you use a restrictive or non-restrictive clause? How are the 2 examples above different?
The first example could be used wherever you are and you would know which corner store we are talking about.
The second example would be used when you are standing in the corner store or pointing at it so that you know exactly which corner store we are talking about. Otherwise, nobody would know which corner store
is very large.
Non-restrictive clauses are
always set off by commas. In your original question, "which" introduces a restrictive clause because it is not set off by commas. We need to know that it is not just any kind of plants with roots that can thrive in poor soils; it is the ones with roots
which house bacteria that can turn atmospheric nitrogen into fertilizer. This is essential information and thus a restrictive clause. In any case, you should have picked B because of the pronoun reference problem in A.