In the modern era of multi-core systems, the main aim is to utilize the cores properly.This utilization can be done by concurrent programming. But developing a flawless and well-organized concurrent program is difficult. Software Transactional Memory Systems (STMs) are a convenient programming interface which assist the programmer to access the shared memory concurrently without worrying about consistency issues such as priority-inversion, deadlock, livelock, etc. Another important feature that STMs facilitate is compositionality of concurrent programs with great ease. It composes different concurrent operations in a single atomic unit by encapsulating them in a transaction.Many STMs available in the literature execute read/write primitive operations on memory buffers. We represent them as Read-Write STMs or RWSTMs. Whereas, there exist some STMs (transactional boosting and its variants) which work on higher level operations such as insert, delete, lookup, etc. on a hash-table. We refer these STMs as Object Based STMs or OSTMs. The literature of databases and RWSTMs say that maintaining multiple versions 1 A preliminary version of this paper appeared in 20th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS 2018) and awarded with the Best Student Paper Award. A poster version of this work received Best Poster Award in NETYS 2018. 2 Author sequence follows the lexical order of last names. All the authors can be contacted at the addresses given above. Archit Somani's phone number: +91 -7095044601. ensures greater concurrency. This motivates us to maintain multiple version at higher level with object semantics and achieves greater concurrency. So, this paper proposes the notion of Optimized Multi-version Object Based STMs or OPT-MVOSTMs which encapsulates the idea of multiple versions in OSTMs to harness the greater concurrency efficiently. For efficient memory utilization, we develop two variations of OPT-MVOSTMs. First, OPT-MVOSTM with garbage collection (or OPT-MVOSTM-GC) which uses unbounded versions but performs garbage collection scheme to delete the unwanted versions. Second, finite version OPT-MVOSTM (or OPT-KOSTM) which maintains at most K versions by replacing the oldest version when (K + 1) th version is created by the current transaction. We propose the OPT-MVOSTMs for hash-table and list objects as OPT-HT-MVOSTM and OPT-list-MVOSTM respectively. For memory utilization, we propose two variants of both the algorithms as OPT-HT-MVOSTM-GC, OPT-HT-KOSTM and OPT-list-MVOSTM-GC, OPT-list-KOSTM respectively. OPT-HT-KOSTM performs best among its variants and outperforms state-of-the-art hash-table based STMs (HT-OSTM, ESTM, RWSTM, HT-MVTO, HT-KSTM) by a factor of 3.62, 3.95, 3.44, 2.75, 1.85 for workload W1 (90% lookup, 8% insert and 2% delete), 1. 44, 2.36, 4.45, 9.84, 7.42 for workload W2 (50% lookup, 25% insert and 25% delete), and 2. 11, 4.05, 7.84, 12.94, 10.70 for workload W3 (10% lookup, 45% insert and 45% delete) respectively. Similarly, OPT-list-KOSTM performs ...