Why SHOULD the funding tx consume BIP 141 inputs? In BOLT 02 we read that the funding TX should only consume segwit inputs. 


  The sender: when creating the funding transaction: SHOULD use only BIP141 (Segregated Witness) inputs.


What is the reason for that? If it was for preventing tx malleability it should be a MUST. Also I thought the inputs that are consumed don't matter for this context.
The following is my humble understanding, I am not an expert in BOLTs.

First, the reason to include this requirement is indeed transaction malleability. If malleable outputs are consumed for the funding transactions, then:


funding_txid may change after the transaction is broadcasted;
checking the status of the tx may fail (funding_locked);
the channel will never be established even though the funding tx is send.


Second, as to why this is a SHOULD instead of a MUST. This has to do with the IETF definition:


  SHOULD   This word, or the adjective "RECOMMENDED", mean that there
  may exist valid reasons in particular circumstances to ignore a
  particular item, but the full implications must be understood and
  carefully weighed before choosing a different course.


SHOULD is not critical to the specifications and some clients may have a reason to ignore this recommendation. For example, I may write a client that does not include on-chain BIP141-only bitcoin wallet and instead connects to an existing one. This will make setup easier and cheaper for some users (no additional on-chain transaction). But I need to understand the implications and handle malleable transactions in case their txid changes.